patch-2.4.18 linux/fs/jbd/transaction.c

Next file: linux/fs/jffs2/dir.c
Previous file: linux/fs/jbd/revoke.c
Back to the patch index
Back to the overall index

diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/fs/jbd/transaction.c linux/fs/jbd/transaction.c
@@ -97,6 +97,8 @@
 
 	lock_journal(journal);
 
+repeat_locked:
+
 	if (is_journal_aborted(journal) ||
 	    (journal->j_errno != 0 && !(journal->j_flags & JFS_ACK_ERR))) {
 		unlock_journal(journal);
@@ -110,7 +112,6 @@
 		goto repeat;
 	}
 	
-repeat_locked:
 	if (!journal->j_running_transaction)
 		get_transaction(journal, 0);
 	/* @@@ Error? */
@@ -604,6 +605,7 @@
 		spin_unlock(&journal_datalist_lock);
 		unlock_buffer(jh2bh(jh));
 		lock_journal(journal);
+		goto repeat;
 	}
 
 	J_ASSERT_JH(jh, !buffer_locked(jh2bh(jh)));

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)