[Ocfs2-devel] [PATCH]2.6 fixes in journal.c

Rusty Lynch rusty at linux.co.intel.com
Mon Mar 1 08:54:47 CST 2004


On Thu, Feb 26, 2004 at 06:16:49PM -0800, Rusty Lynch wrote:
> 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
> 

Here is the same patch cut against the new svn tree.


Index: src/journal.c
===================================================================
--- src/journal.c	(revision 738)
+++ 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:
@@ -899,7 +899,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
@@ -935,9 +935,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;
@@ -1376,12 +1380,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 (&current->sighand->siglock);
 	sigfillset(&current->blocked);
@@ -1531,7 +1537,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