---

 25-akpm/fs/jbd/commit.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -puN fs/jbd/commit.c~jbd-barrier-fallback-on-failure-fix fs/jbd/commit.c
--- 25/fs/jbd/commit.c~jbd-barrier-fallback-on-failure-fix	2004-05-23 04:13:33.558244896 -0700
+++ 25-akpm/fs/jbd/commit.c	2004-05-23 04:14:03.406707240 -0700
@@ -649,14 +649,15 @@ wait_for_iobuf:
 
 			printk(KERN_WARNING
 				"JBD: barrier-based sync failed on %s - "
-				"bisabling barriers\n",
+				"disabling barriers\n",
 				bdevname(journal->j_dev, b));
 			spin_lock(&journal->j_state_lock);
 			journal->j_flags &= ~JFS_BARRIER;
-			spin_lock(&journal->j_state_lock);
+			spin_unlock(&journal->j_state_lock);
 
 			/* And try again, without the barrier */
 			clear_buffer_ordered(bh);
+			set_buffer_dirty(bh);
 			ret = sync_dirty_buffer(bh);
 		}
 		if (unlikely(ret == -EIO))

_
