diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-12 11:28:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-06-12 11:28:58 -0400 |
commit | 266ae4e6155419b3904f45b132db26d4b6fdceaf (patch) | |
tree | e1a7105c683e4570c0c92efc4df77d17755084e2 /fs | |
parent | 7452ca511c217b9d7bbadf4680018555c7d9a7ce (diff) | |
parent | ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e (diff) |
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 8d2fb8c88cf3..41a3ccff18d8 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -664,6 +664,7 @@ static long writeback_sb_inodes(struct super_block *sb, | |||
664 | /* Wait for I_SYNC. This function drops i_lock... */ | 664 | /* Wait for I_SYNC. This function drops i_lock... */ |
665 | inode_sleep_on_writeback(inode); | 665 | inode_sleep_on_writeback(inode); |
666 | /* Inode may be gone, start again */ | 666 | /* Inode may be gone, start again */ |
667 | spin_lock(&wb->list_lock); | ||
667 | continue; | 668 | continue; |
668 | } | 669 | } |
669 | inode->i_state |= I_SYNC; | 670 | inode->i_state |= I_SYNC; |