[Ocfs2-devel] [PATCH]2.6 fixes in journal.c
Rusty Lynch
rusty at linux.co.intel.com
Thu Feb 26 18:16:49 CST 2004
The following is a patch that fixes some small 2.6 issues with
journal.c
* journal_get_write_access now has an additional "credits" argument
that appears to be safe to pass in as null. (Other people are
doing it and the code in the latest bk tree always test for null
before attempting to incrementing it.)
* small typo in an ocfs_iget call
* remaining call to daemonize that is moved to the 2.6 safe
ocfs_daemonize call
* WARNING!!! Here is the thing I am not sure about!
The lock_journal/unlock_journal calls do not exist anymore.
There is a journal_[un]lock_updates() function, but it is
unclear when to use that function.
I just removed the [un]lock_journal calls around a line where
we were tweaking the commit interval.
--rusty
Index: src/journal.c
===================================================================
--- src/journal.c (revision 36)
+++ src/journal.c (working copy)
@@ -656,7 +656,7 @@
break;
case OCFS_JOURNAL_ACCESS_WRITE:
- status = journal_get_write_access(handle->k_handle, bh);
+ status = journal_get_write_access(handle->k_handle, bh, NULL);
break;
default:
@@ -898,7 +898,7 @@
OCFS_BH_PUT_DATA(bh);
fe = NULL;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- inode = ocfs_iget (sb, &args);
+ inode = ocfs_iget (osb->sb, &args);
#else
inode = ocfs_get_inode_from_offset(osb, args.offset, bh);
#endif
@@ -934,9 +934,13 @@
LOG_TRACE_STR("Returned from journal_init_inode");
LOG_TRACE_ARGS("k_journal->j_maxlen = %u\n", k_journal->j_maxlen);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ k_journal->j_commit_interval = OCFS_DEFAULT_COMMIT_INTERVAL;
+#else
lock_journal(k_journal);
k_journal->j_commit_interval = OCFS_DEFAULT_COMMIT_INTERVAL;
unlock_journal(k_journal);
+#endif
/* yay, pass the proper info back to our journal structure. */
osb->journal.osb = osb;
@@ -1368,12 +1372,14 @@
ocfs_super *osb = ((struct ocfs_recover_arg *) arg)->osb;
int node_num = ((struct ocfs_recover_arg *) arg)->node_num;
int status = 0;
+ char proc[16];
LOG_ENTRY_ARGS("(node_num=%d, osb->node_num = %d)\n", node_num,
osb->node_num);
- daemonize();
- reparent_to_init();
+ sprintf (proc, "ocfs2rec-%d", osb->osb_id);
+ ocfs_daemonize (proc, strlen(proc));
+
#ifdef HAVE_NPTL
spin_lock_irq (¤t->sighand->siglock);
sigfillset(¤t->blocked);
@@ -1522,7 +1528,7 @@
OCFS_BH_PUT_DATA(bh);
fe = NULL;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- inode = ocfs_iget (sb, &args);
+ inode = ocfs_iget (osb->sb, &args);
#else
inode = ocfs_get_inode_from_offset(osb, args.offset, bh);
#endif
More information about the Ocfs2-devel
mailing list