summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-11-27 05:42:07 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-11-27 05:42:07 +0400
commit87726c334bf11188260a3af90a6ccbfe907498cb (patch)
treecc6ef138e30e892cad9aabf732cdbb1762058fd2 /fs
parent9489e9dcae718d5fde988e4a684a0f55b5f94d17 (diff)
parent25389bb207987b5774182f763b9fb65ff08761c8 (diff)
downloadlinux-87726c334bf11188260a3af90a6ccbfe907498cb.tar.xz
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull ext3 regression fix from Jan Kara: "Fix an ext3 regression introduced during 3.7 merge window. It leads to deadlock if you stress the filesystem in the right way (luckily only if blocksize < pagesize)." * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: jbd: Fix lock ordering bug in journal_unmap_buffer()
Diffstat (limited to 'fs')
-rw-r--r--fs/jbd/transaction.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
index 78b7f84241d4..7f5120bf0ec2 100644
--- a/fs/jbd/transaction.c
+++ b/fs/jbd/transaction.c
@@ -1961,7 +1961,9 @@ retry:
spin_unlock(&journal->j_list_lock);
jbd_unlock_bh_state(bh);
spin_unlock(&journal->j_state_lock);
+ unlock_buffer(bh);
log_wait_commit(journal, tid);
+ lock_buffer(bh);
goto retry;
}
/*