[Ocfs2-commits] rev 30 - in trunk: . docs src src/inc
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Mon Feb 9 23:49:47 CST 2004
Author: manish
Date: 2004-02-09 23:49:45 -0600 (Mon, 09 Feb 2004)
New Revision: 30
Modified:
trunk/TODO
trunk/docs/sample-ocfs.conf
trunk/src/Makefile
trunk/src/alloc.c
trunk/src/bitmap.c
trunk/src/dcache.c
trunk/src/dir.c
trunk/src/dlm.c
trunk/src/extmap.c
trunk/src/file.c
trunk/src/hash.c
trunk/src/heartbeat.c
trunk/src/inc/io.h
trunk/src/inc/journal.h
trunk/src/inc/ocfs.h
trunk/src/inc/proto.h
trunk/src/inode.c
trunk/src/io.c
trunk/src/ioctl.c
trunk/src/journal.c
trunk/src/namei.c
trunk/src/nm.c
trunk/src/oin.c
trunk/src/osb.c
trunk/src/proc.c
trunk/src/sem.c
trunk/src/super.c
trunk/src/sysfile.c
trunk/src/util.c
trunk/src/ver.c
trunk/src/volcfg.c
trunk/src/vote.c
Log:
header update, some deadlock fixes, 2.6 stuff
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/TODO 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,8 @@
+* add fixes to end of ocfs_recv_thread to switch sock_release and
+flush_*_work blocks
+
+* disable sigkill and sigterm in ocfs listener thread
+
* turn off some of the less usefull (but verbose) tracing by default.
* figure out what to do about old style cdsl. Either we error when we see it
Modified: trunk/docs/sample-ocfs.conf
===================================================================
--- trunk/docs/sample-ocfs.conf 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/docs/sample-ocfs.conf 2004-02-10 05:49:45 UTC (rev 30)
@@ -6,31 +6,31 @@
# node_name serves as a human readable node identifier.
# Eventhough the value should be unique in a cluster, ocfs does
# not require it as it does not use it to identify a node.
-node_name = <your node name>
+node_name = node1
# node_number allows the admin to specify the preferred node
# number for the node in the cluster. However, it works only
# as a suggestion, because ocfs will not fail the mount if the
# specified node number is already occupied. Note that the
# node number of a node can vary across mounts.
-node_number = <preferred node number>
+node_number = 0
# debug_context is used for debugging. It will work only if the
# driver is built with -DTRACE
-debug_context = <debug context>
+debug_context = 0
# debug_level is used for debugging. It will work only if the
# driver is built with -DTRACE
-debug_level = <debug level>
+debug_level = 0
# ip_address specifies the host's ip address used by ocfs listener.
-ip_address = <you ip address>
+ip_address = 192.168.0.5
# ip_port specifies the host's ip port used by ocfs listener.
-ip_port = <your listener port>
+ip_port = 7000
#enables or disables the network dlm
-comm_voting = <0 | 1>
+comm_voting = 1
# guid parameter is added by the ocfs_uid_gen script and is used
# by ocfs to uniquely identify a node. The guid holds within it
Modified: trunk/src/Makefile
===================================================================
--- trunk/src/Makefile 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/Makefile 2004-02-10 05:49:45 UTC (rev 30)
@@ -51,6 +51,7 @@
DEFINES += -DALLOW_NO_HANDLE_SYNCING
DEFINES += -DOCFS_PARANOID_ABORTS
+#DEFINES += -DBH_SEM_DEBUG
ifeq ($(KVER),vmware)
KERNELINC = /usr/src/linux-2.4/include
Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/alloc.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * alloc.c
+ *
+ * Extent allocs and frees
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#ifdef __KERNEL__
#include <ocfs.h>
#else
Modified: trunk/src/bitmap.c
===================================================================
--- trunk/src/bitmap.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/bitmap.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsbitmap.c
+ * bitmap.c
*
* Bitmap infrastructure code
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#if defined(__KERNEL__)
Modified: trunk/src/dcache.c
===================================================================
--- trunk/src/dcache.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/dcache.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * dcache.c
+ *
+ * dentry cache handling code
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_DCACHE
Modified: trunk/src/dir.c
===================================================================
--- trunk/src/dir.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/dir.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,6 +1,31 @@
+/*
+ * dir.c
+ *
+ * Creates, reads, walks and deletes directory-nodes
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
-
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_DIR
static int ocfs_insert_dir_node (ocfs_super * osb, struct buffer_head *bhs[], ocfs_file_entry * InsertEntry, struct buffer_head *lockbh, __s32 * IndexOffset, struct buffer_head **insert_bh, ocfs_journal_handle * handle, struct inode *dir_inode, struct inode *file_inode);
Modified: trunk/src/dlm.c
===================================================================
--- trunk/src/dlm.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/dlm.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -3,7 +3,7 @@
*
* Distributed lock manager. Requests and processes lock votes.
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
@@ -77,7 +77,7 @@
int status = 0;
int tmpstat;
__u64 lockseqno = 0;
- unsigned long jif;
+ unsigned long jif = 0;
LOG_ENTRY_ARGS ("(0x%08x, 0x%08x, %u)\n", osb, lockres, flags);
@@ -321,6 +321,10 @@
DISK_LOCK_CURRENT_MASTER (fe) = OCFS_INVALID_NODE_NUM;
DISK_LOCK_FILE_LOCK (fe) = OCFS_DLM_NO_LOCK;
OCFS_BH_PUT_DATA(bh);
+ tmpstat = ocfs_write_bh (osb, bh, 0, NULL);
+ if (tmpstat < 0) {
+ LOG_ERROR_STATUS (status = tmpstat);
+ }
goto got_it;
}
@@ -387,6 +391,10 @@
DISK_LOCK_CURRENT_MASTER (fe) = OCFS_INVALID_NODE_NUM;
DISK_LOCK_FILE_LOCK (fe) = OCFS_DLM_NO_LOCK;
OCFS_BH_PUT_DATA(bh);
+ tmpstat = ocfs_write_bh (osb, bh, 0, NULL);
+ if (tmpstat < 0) {
+ LOG_ERROR_STATUS (status = tmpstat);
+ }
goto got_it;
}
@@ -1007,6 +1015,7 @@
int status = 0;
__u64 offset = 0;
ocfs_file_entry *fe = NULL;
+ bool changed = false;
LOG_ENTRY ();
@@ -1016,25 +1025,58 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(*bh); /* write */
+ fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_READ(*bh); /* read */
- if (flags & DLOCK_FLAG_MASTER)
+ if (flags & DLOCK_FLAG_MASTER &&
+ DISK_LOCK_CURRENT_MASTER (fe) != lockres->master_node_num) {
+ if (!changed) {
+ OCFS_BH_PUT_DATA(*bh);
+ fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(*bh); /* write */
+ }
+ changed = true;
DISK_LOCK_CURRENT_MASTER (fe) = lockres->master_node_num;
+ }
- if (flags & DLOCK_FLAG_LOCK)
+ if (flags & DLOCK_FLAG_LOCK &&
+ DISK_LOCK_FILE_LOCK (fe) != lockres->lock_type) {
+ if (!changed) {
+ OCFS_BH_PUT_DATA(*bh);
+ fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(*bh); /* write */
+ }
+ changed = true;
DISK_LOCK_FILE_LOCK (fe) = lockres->lock_type;
+ }
- if (flags & DLOCK_FLAG_OPEN_MAP)
+ if (flags & DLOCK_FLAG_OPEN_MAP &&
+ DISK_LOCK_OIN_MAP (fe) != lockres->oin_openmap) {
+ if (!changed) {
+ OCFS_BH_PUT_DATA(*bh);
+ fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(*bh); /* write */
+ }
+ changed = true;
DISK_LOCK_OIN_MAP (fe) = lockres->oin_openmap;
+ }
- if (flags & DLOCK_FLAG_SEQ_NUM)
+ if (flags & DLOCK_FLAG_SEQ_NUM &&
+ DISK_LOCK_SEQNUM (fe) != lockres->last_upd_seq_num) {
+ if (!changed) {
+ OCFS_BH_PUT_DATA(*bh);
+ fe = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(*bh); /* write */
+ }
+ changed = true;
DISK_LOCK_SEQNUM (fe) = lockres->last_upd_seq_num;
+ }
OCFS_BH_PUT_DATA(*bh);
- status = ocfs_write_bh (osb, *bh, 0, inode);
- if (status < 0)
- LOG_ERROR_STATUS (status);
+ if (changed) {
+ if (buffer_jbd(*bh))
+ LOG_ERROR_ARGS("this buffer may be a problem! block=%lu\n",
+ (*bh)->b_blocknr);
+ status = ocfs_write_bh (osb, *bh, 0, inode);
+ if (status < 0)
+ LOG_ERROR_STATUS (status);
+ }
finally:
LOG_EXIT_STATUS (status);
Modified: trunk/src/extmap.c
===================================================================
--- trunk/src/extmap.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/extmap.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * extmap.c
+ *
+ * Creates, adds, coalesces, deletes extent maps
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_EXTMAP
Modified: trunk/src/file.c
===================================================================
--- trunk/src/file.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/file.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * file.c
+ *
+ * File open, close, extend, truncate
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_FILE
Modified: trunk/src/hash.c
===================================================================
--- trunk/src/hash.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/hash.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,10 +1,9 @@
/*
* hash.c
*
- * Allows for creation and destruction of a hash table which one
- * can use to read, write and delete data.
+ * lockid hash, bh sem hash, inode hash
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -16,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
@@ -805,6 +804,9 @@
init_MUTEX (&newsem->s_sem);
init_waitqueue_head(&newsem->s_wait);
newsem->s_pid = 0;
+#ifdef BH_SEM_DEBUG
+ memset(&newsem->s_modifier[0], 0, 40);
+#endif
goto again;
}
sem = NULL;
@@ -850,6 +852,7 @@
return ret;
}
+#ifndef BH_SEM_DEBUG
int ocfs_bh_sem_lock_modify(struct buffer_head *bh)
{
ocfs_bh_sem *sem;
@@ -890,6 +893,7 @@
return ret;
}
+#endif
@@ -1079,7 +1083,7 @@
return missed;
}
-#define BUFFER_MODIFIED_TIMEOUT HZ
+#define BUFFER_MODIFIED_TIMEOUT (10*HZ)
void wait_on_buffer_modified(struct buffer_head * bh)
{
@@ -1105,9 +1109,15 @@
set_task_state(tsk, TASK_INTERRUPTIBLE);
schedule_timeout(BUFFER_MODIFIED_TIMEOUT);
if (buffer_modified(bh) &&
- sem->s_pid != current->pid)
+ sem->s_pid != current->pid && sem->s_pid != 0) {
+#ifdef BH_SEM_DEBUG
+ LOG_ERROR_ARGS("possible deadlock: block=%lu, owner=%d, this=%d, modifier='%s'\n",
+ bh->b_blocknr, sem->s_pid, current->pid, sem->s_modifier);
+#else
LOG_ERROR_ARGS("possible deadlock: block=%lu, owner=%d, this=%d\n",
bh->b_blocknr, sem->s_pid, current->pid);
+#endif
+ }
}
} while (buffer_modified(bh) && sem->s_pid != current->pid);
set_task_state(tsk, TASK_RUNNING);
@@ -1130,6 +1140,9 @@
}
clear_buffer_modified(bh);
sem->s_pid = 0;
+#ifdef BH_SEM_DEBUG
+ memset(&sem->s_modifier[0], 0, 40);
+#endif
ocfs_bh_sem_unlock(bh);
if (waitqueue_active(&sem->s_wait))
wake_up(&sem->s_wait);
Modified: trunk/src/heartbeat.c
===================================================================
--- trunk/src/heartbeat.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/heartbeat.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsheartbeat.c
+ * heartbeat.c
*
* Keeps track of alive nodes in the cluster.
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#if !defined(USERSPACE_TOOL)
Modified: trunk/src/inc/io.h
===================================================================
--- trunk/src/inc/io.h 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/inc/io.h 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * io.h
+ *
+ * Buffer cache handling functions defined
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
+ */
+
#ifndef OCFSIO_H
#define OCFSIO_H
@@ -103,7 +129,20 @@
return kaddr;
}
-
+#ifdef BH_SEM_DEBUG
+#define OCFS_BH_GET_DATA_WRITE(bh) ({ \
+ unsigned char *kaddr; \
+ while (1) { \
+ if (ocfs_bh_sem_lock_modify(bh) == OCFS_BH_SEM_WAIT_ON_MODIFY) { \
+ ocfs_bh_sem_unlock(bh); \
+ wait_on_buffer_modified(bh); \
+ } else \
+ break; \
+ } \
+ kaddr = (kmap((bh)->b_page)) + ((unsigned long)(bh)->b_data & ~PAGE_MASK); \
+ kaddr; \
+})
+#else
static inline void * OCFS_BH_GET_DATA_WRITE(struct buffer_head *bh)
{
unsigned char *kaddr;
@@ -125,7 +164,10 @@
kaddr += ((unsigned long)(bh)->b_data & ~PAGE_MASK);
return kaddr;
}
+#endif
+
+
static inline void OCFS_BH_PUT_DATA(struct buffer_head *bh)
{
kunmap((bh)->b_page);
Modified: trunk/src/inc/journal.h
===================================================================
--- trunk/src/inc/journal.h 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/inc/journal.h 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsjournal.h
+ * journal.h
*
* Defines journalling api and structures.
*
- * Copyright (C) 2003 Oracle. All rights reserved.
+ * Copyright (C) 2003, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -20,8 +20,8 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
*/
#ifndef _OCFSJOURNAL_H_
Modified: trunk/src/inc/ocfs.h
===================================================================
--- trunk/src/inc/ocfs.h 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/inc/ocfs.h 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * ocfs.h
+ *
+ * Defines macros and structures used in ocfs
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#ifndef OCFS_H
#define OCFS_H
@@ -5,7 +31,15 @@
struct mem_dqinfo;
extern inline void mark_info_dirty(struct mem_dqinfo *info);
-#ifndef LINUX_2_5
+/*
+** System header files
+*/
+#define __KERNEL_SYSCALLS__
+#include <linux/version.h>
+#include <linux/types.h>
+#include <linux/config.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
#ifdef __ia64__
extern inline void prefetch(const void *x);
extern inline void prefetchw(const void *x);
@@ -15,23 +49,14 @@
#endif
extern inline int generic_fls(int x);
extern inline int get_bitmask_order(unsigned int count);
-#endif /* !LINUX_2_5 */
+#endif /* 2.4 kernel */
-
-/*
-** System header files
-*/
-#define __KERNEL_SYSCALLS__
-#include <linux/version.h>
-#include <linux/types.h>
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <asm/byteorder.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
-#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/wait.h>
@@ -41,7 +66,7 @@
#include <linux/random.h>
#include <linux/string.h>
#include <linux/jbd.h>
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#include <linux/writeback.h>
#else
#include <linux/locks.h>
@@ -56,13 +81,13 @@
#include <linux/net.h>
#include <net/sock.h>
#include <linux/ctype.h>
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#include <linux/workqueue.h>
#else
#include <linux/tqueue.h>
#endif
#include <linux/inet.h>
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#include <asm/statfs.h>
#include <linux/blkdev.h>
#include <linux/in.h>
@@ -71,8 +96,6 @@
#include "journal.h"
-
-
typedef enum { false = 0, true = 1 } ocfs_bool;
/* This should be removed and all old code fixed to just use ocfs_bool */
@@ -90,7 +113,6 @@
#define OCFS_GCC_ATTR_PACKALGN
#endif
-
enum
{
OCFS_VOTE_REQUEST = 1,
@@ -116,19 +138,16 @@
REMASTER_REQUESTOR // remaster lock to requestor
};
-
enum {
NOT_VOTING = 0,
DOING_HEARTBEAT,
SKIPPED_HEARTBEAT
};
-
#define OCFS_MAX_DLM_PKT_SIZE 256
#define OCFS_DLM_MAX_MSG_SIZE 256
#define OCFS_DLM_MSG_MAGIC 0x79677083
-
enum {
OSB_DATA_LOCK,
OSB_MD_LOCK,
@@ -179,7 +198,7 @@
#endif
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#define OcfsQuerySystemTime(t) \
do { \
*t = (__u64)(CURRENT_TIME.tv_sec) * (__u64) 10000000; \
@@ -1084,7 +1103,7 @@
#define OCFS_IOC_GETTYPE _IOR(OCFS_IOC_MAGIC, 1, struct ocfs_ioc)
-#ifndef LINUX_2_5
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
typedef long sector_t;
#define map_bh(bh, sb, blk) \
({ \
@@ -1094,12 +1113,12 @@
})
#endif
-#ifndef LINUX_2_5
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
#include <linux/iobuf.h>
#endif /* for 2.5 - no more kiovec, kiobuf structures - vfs handles
* this for us (direct i/o) */
#include <linux/sysctl.h>
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#include <linux/moduleparam.h>
#endif
@@ -1113,48 +1132,32 @@
#endif
/* Operates on a struct super_block * */
-#ifdef LINUX_2_5
-#define OCFS_SB_GET_KDEV(sb) (to_kdev_t(sb->s_dev))
-#define OCFS_SET_INODE_DEV(sb, inode) (inode->i_rdev = OCFS_SB_GET_KDEV(sb))
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+#define OCFS_SET_INODE_DEV(sb, inode) (inode->i_rdev = sb->sdev)
typedef struct block_device * ocfs_blockdev;
typedef dev_t ocfs_dev;
#define OCFS_NODEV NODEV.value
#define OCFS_GET_BLOCKDEV(sb) ((sb)->s_bdev)
-#else
-#define OCFS_SB_GET_KDEV(sb) (sb->s_dev)
-#define OCFS_SET_INODE_DEV(sb, inode) (inode->i_dev = OCFS_SB_GET_KDEV(sb))
+#else /* 2.4 kernel */
+#define OCFS_SET_INODE_DEV(sb, inode) (inode->i_dev = sb->s_dev)
typedef kdev_t ocfs_blockdev;
typedef int ocfs_dev;
#define OCFS_NODEV NODEV
#define OCFS_GET_BLOCKDEV(sb) ((sb)->s_dev)
#endif
-
-
-
-//#if LINUX_VERSION_CODE >= LinuxVersionCode(2,5,0)
-
-//#ifndef LINUX_2_5
-//#define LINUX_2_5
-//#endif
-
-//#endif
-
-#if LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
/* No longer exists in 2.5 */
#define fsync_inode_buffers(inode) sync_mapping_buffers(inode->i_mapping)
#define getblk(dev, blk, sz) __getblk(dev, blk, sz)
-#define MOD_INC_USE_COUNT do { } while(0)
-#define MOD_DEC_USE_COUNT do { } while(0)
-#endif /* LINUX_2_5 */
+#endif /* >= 2.6.0 */
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
#define OCFS_GENERIC_SB_P(sb) ((ocfs_super *)(sb->s_fs_info))
#else
#define OCFS_GENERIC_SB_P(sb) ((ocfs_super *)(sb->u.generic_sbp))
#endif
-
extern __u32 debug_context;
extern __u32 debug_level;
extern __u32 debug_exclude;
@@ -1553,11 +1556,18 @@
struct semaphore s_sem;
struct list_head s_list;
unsigned long s_blocknr;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ dev_t s_dev;
+#else
kdev_t s_dev;
+#endif
atomic_t s_refcnt;
struct buffer_head *s_bh;
wait_queue_head_t s_wait;
pid_t s_pid;
+#ifdef BH_SEM_DEBUG
+ char s_modifier[40];
+#endif
} ocfs_bh_sem;
@@ -2345,7 +2355,7 @@
__s32 msg_len;
__u8 msg[OCFS_MAX_DLM_PKT_SIZE];
int status;
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
struct work_struct ipc_wq;
#else
struct tq_struct ipc_tq;
@@ -2364,7 +2374,7 @@
typedef struct _ocfs_cfg_task
{
-#ifdef LINUX_2_5
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
struct work_struct cfg_wq;
#else
struct tq_struct cfg_tq;
Modified: trunk/src/inc/proto.h
===================================================================
--- trunk/src/inc/proto.h 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/inc/proto.h 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * proto.h
+ *
+ * Function prototypes
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
int ocfs_allocate_extent (ocfs_super * osb, ocfs_inode * oin, struct buffer_head *fe_bh, ocfs_journal_handle *handle,__u64 actualDiskOffset, __u64 actualLength, struct inode *inode);
int ocfs_kill_this_tree(ocfs_super *osb, struct buffer_head *extent_grp_bh, ocfs_bitmap_free_head *free_head, struct inode *inode);
int ocfs_free_extents_for_truncate (ocfs_super * osb, ocfs_file_entry * FileEntry, ocfs_journal_handle *handle, ocfs_bitmap_free_head *free_head, struct inode *inode);
@@ -88,7 +114,6 @@
int ocfs_bh_sem_hash_prune(void);
int ocfs_bh_sem_hash_prune_all(void);
int ocfs_bh_sem_lock(struct buffer_head *bh);
-int ocfs_bh_sem_lock_modify(struct buffer_head *bh);
int ocfs_bh_sem_unlock(struct buffer_head *bh);
int ocfs_bh_sem_hash_cleanup_pid(pid_t pid);
void ocfs_bh_sem_up(ocfs_bh_sem *sem);
@@ -101,7 +126,39 @@
void wait_on_buffer_modified(struct buffer_head * bh);
void ocfs_clear_buffer_modified(struct buffer_head *bh);
+#ifdef BH_SEM_DEBUG
+#define ocfs_bh_sem_lock_modify(bh) ({ \
+ ocfs_bh_sem *sem; \
+ int ret; \
+ sem = ocfs_bh_sem_lookup(bh); \
+ if (!sem) \
+ BUG(); \
+ ocfs_bh_sem_down(sem); \
+ ret = OCFS_BH_SEM_GOT_LOCK; \
+ if (buffer_modified(bh)) { \
+ if (sem->s_pid == 0) { \
+ sem->s_pid = current->pid; \
+ snprintf(sem->s_modifier, 40, "%s:%s:%d", __FUNCTION__, __FILE__, __LINE__); \
+ ocfs_bh_sem_get(sem); \
+ } else if (sem->s_pid != current->pid) { \
+ ret = OCFS_BH_SEM_WAIT_ON_MODIFY; \
+ } \
+ } else { \
+ if (sem->s_pid != 0) \
+ printk("first to modify, but pid is NOT 0!\n"); \
+ sem->s_pid = current->pid; \
+ snprintf(sem->s_modifier, 40, "%s:%s:%d", __FUNCTION__, __FILE__, __LINE__); \
+ ocfs_bh_sem_get(sem); \
+ set_buffer_modified(bh); \
+ } \
+ ret; \
+})
+#else
+int ocfs_bh_sem_lock_modify(struct buffer_head *bh);
+#endif
+
+
void ocfs_version_print (void);
Modified: trunk/src/inode.c
===================================================================
--- trunk/src/inode.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/inode.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * inode.c
+ *
+ * vfs' aops, fops, dops and iops
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_INODE
Modified: trunk/src/io.c
===================================================================
--- trunk/src/io.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/io.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
* io.c
*
- * Defines functions of I/O api
+ * Buffer cache handling
*
- * Copyright (C) 2003 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Kurt Hackel, Sunil Mushran, Manish Singh, Wim Coekaerts,
- * Mark Fasheh, Joel Becker
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
Modified: trunk/src/ioctl.c
===================================================================
--- trunk/src/ioctl.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/ioctl.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsioctl.c
+ * ioctl.c
*
- * ocfs' ioctl interface
+ * ioctl interface
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
Modified: trunk/src/journal.c
===================================================================
--- trunk/src/journal.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/journal.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -3,7 +3,7 @@
*
* Defines functions of journalling api
*
- * Copyright (C) 2003 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2003, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Kurt Hackel, Sunil Mushran, Manish Singh, Wim Coekaerts,
- * Mark Fasheh, Joel Becker
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Joel Becker
*/
#include <ocfs.h>
@@ -1705,7 +1705,6 @@
int status = 0, misses = 0, finish = 0;
ocfs_super *osb = (ocfs_super *)arg;
ocfs_commit_task *commit = osb->commit;
- struct list_head *head = &commit->c_list;
char name[16];
ocfs_journal * journal = &osb->journal;
Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/namei.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * namei.c
+ *
+ * Create and rename file, directory, symlinks
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_NAMEI
@@ -378,6 +404,7 @@
DISK_LOCK_FILE_LOCK (fe) = OCFS_DLM_ENABLE_CACHE_LOCK;
DISK_LOCK_READER_NODE (fe) = osb->node_num;
DISK_LOCK_WRITER_NODE (fe) = osb->node_num;
+ DISK_LOCK_OIN_MAP(fe) = (1 << osb->node_num);
OcfsQuerySystemTime(&t);
DISK_LOCK_LAST_WRITE(fe) = t;
DISK_LOCK_LAST_READ(fe) = t;
@@ -802,7 +829,7 @@
&& (!IS_VALID_EXTENT_DATA(extent))) {
LOG_ERROR_STATUS(status = -EINVAL);
OCFS_BH_PUT_DATA(extent_bh);
- clear_buffer_modified(extent_bh);
+ ocfs_clear_buffer_modified(extent_bh);
goto bail;
}
@@ -1098,6 +1125,7 @@
DISK_LOCK_LAST_READ (tmpfe) = t;
DISK_LOCK_READER_NODE (tmpfe) = osb->node_num;
DISK_LOCK_WRITER_NODE (tmpfe) = osb->node_num;
+ DISK_LOCK_OIN_MAP(tmpfe) = (1 << osb->node_num);
tmpfe->modify_time = OCFS_CURRENT_TIME;
if (tmpfe->attribs & OCFS_ATTRIB_DIRECTORY)
Modified: trunk/src/nm.c
===================================================================
--- trunk/src/nm.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/nm.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsgennm.c
+ * nm.c
*
- * process vote, nm thread, etc.
+ * net and disk process vote, nm thread, etc.
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
@@ -232,7 +232,6 @@
__u64 curr_node_map;
__u64 cfg_seq_num;
int which, pruned;
- int flush_misses = 0;
struct buffer_head *bh = NULL;
LOG_ENTRY ();
Modified: trunk/src/oin.c
===================================================================
--- trunk/src/oin.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/oin.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * oin.c
+ *
+ * Create, verify, release oin
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_OIN
Modified: trunk/src/osb.c
===================================================================
--- trunk/src/osb.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/osb.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * osb.c
+ *
+ * Initialize, verify osb
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_OSB
Modified: trunk/src/proc.c
===================================================================
--- trunk/src/proc.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/proc.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
- * ocfsproc.c
+ * proc.c
*
- * ocfs proc interface
+ * proc interface
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
*/
#define OCFSPROC_PRIVATE_DECLS
Modified: trunk/src/sem.c
===================================================================
--- trunk/src/sem.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/sem.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * sem.c
+ *
+ * Init, del, down and up recursive lock, ocfs_sem
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
+ */
+
#include <ocfs.h>
#define OCFS_DEBUG_CONTEXT OCFS_DEBUG_CONTEXT_SEM
Modified: trunk/src/super.c
===================================================================
--- trunk/src/super.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/super.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * super.c
+ *
+ * load/unload driver, mount/dismount volumes
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
+ */
+
#include <ocfs.h>
#include <linux/utsname.h>
Modified: trunk/src/sysfile.c
===================================================================
--- trunk/src/sysfile.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/sysfile.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -3,7 +3,7 @@
*
* Initialize, read, write, etc. system files.
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#ifdef __KERNEL__
Modified: trunk/src/util.c
===================================================================
--- trunk/src/util.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/util.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -3,7 +3,7 @@
*
* General purpose code
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
*/
#ifdef __KERNEL__
Modified: trunk/src/ver.c
===================================================================
--- trunk/src/ver.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/ver.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,3 +1,29 @@
+/*
+ * ver.c
+ *
+ * version string
+ *
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
+ */
+
#include <ocfs.h>
#include <linux/kernel.h>
Modified: trunk/src/volcfg.c
===================================================================
--- trunk/src/volcfg.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/volcfg.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -3,7 +3,7 @@
*
* Auto configuration, namely, node number.
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh, Neeraj Goyal, Suchit Kaura
*/
#include <ocfs.h>
Modified: trunk/src/vote.c
===================================================================
--- trunk/src/vote.c 2004-02-06 22:11:47 UTC (rev 29)
+++ trunk/src/vote.c 2004-02-10 05:49:45 UTC (rev 30)
@@ -1,9 +1,9 @@
/*
* vote.c
*
- * IPC based DLM
+ * netdlm listener, receive, verify and send messages
*
- * Copyright (C) 2002 Oracle Corporation. All rights reserved.
+ * Copyright (C) 2002, 2004 Oracle. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
@@ -15,13 +15,13 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have recieved a copy of the GNU General Public
+ * You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*
- * Authors: Neeraj Goyal, Suchit Kaura, Kurt Hackel, Sunil Mushran,
- * Manish Singh, Wim Coekaerts, Mark Fasheh
+ * Authors: Kurt Hackel, Mark Fasheh, Sunil Mushran, Wim Coekaerts,
+ * Manish Singh
*/
#include <ocfs.h>
More information about the Ocfs2-commits
mailing list