diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-12 15:28:58 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-12 15:28:58 (GMT) |
commit | 266ae4e6155419b3904f45b132db26d4b6fdceaf (patch) | |
tree | e1a7105c683e4570c0c92efc4df77d17755084e2 /fs | |
parent | 7452ca511c217b9d7bbadf4680018555c7d9a7ce (diff) | |
parent | ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e (diff) | |
download | linux-266ae4e6155419b3904f45b132db26d4b6fdceaf.tar.xz |
Merge tag 'writeback-lock-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
Pull writeback locking fix from Wu Fengguang:
"fix unbalanced wb->list_lock in 3.5-rc1"
* tag 'writeback-lock-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: Fix lock imbalance in writeback_sb_inodes()
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fs-writeback.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 8d2fb8c..41a3ccf 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -664,6 +664,7 @@ static long writeback_sb_inodes(struct super_block *sb, /* Wait for I_SYNC. This function drops i_lock... */ inode_sleep_on_writeback(inode); /* Inode may be gone, start again */ + spin_lock(&wb->list_lock); continue; } inode->i_state |= I_SYNC; |