summaryrefslogtreecommitdiffstats
path: root/include/linux/flex_proportions.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-06-08 17:07:36 +0200
committerFengguang Wu <fengguang.wu@intel.com>2012-06-09 08:32:15 +0900
commitead188f9f930fb5d7f0c49315a7fce3d8bd16b7e (patch)
tree1d5630f3b49814f89720624d4269ccf2b25e4974 /include/linux/flex_proportions.h
parentf8f5701bdaf9134b1f90e5044a82c66324d2073f (diff)
downloadlinux-ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e.tar.gz
linux-ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e.tar.bz2
linux-ead188f9f930fb5d7f0c49315a7fce3d8bd16b7e.zip
writeback: Fix lock imbalance in writeback_sb_inodes()
Fix bug introduced by 169ebd90. We have to have wb_list_lock locked when restarting writeback loop after having waited for inode writeback. Bug description by Ted Tso: I can reproduce this fairly easily by using ext4 w/o a journal, running under KVM with 1024megs memory, with fsstress (xfstests #13): [ 45.153294] ===================================== [ 45.154784] [ BUG: bad unlock balance detected! ] [ 45.155591] 3.5.0-rc1-00002-gb22b1f1 #124 Not tainted [ 45.155591] ------------------------------------- [ 45.155591] flush-254:16/2499 is trying to release lock (&(&wb->list_lock)->rlock) at: [ 45.155591] [<c022c3da>] writeback_sb_inodes+0x160/0x327 [ 45.155591] but there are no more locks to release! Reported-by: Theodore Ts'o <tytso@mit.edu> Tested-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Diffstat (limited to 'include/linux/flex_proportions.h')
0 files changed, 0 insertions, 0 deletions