summaryrefslogtreecommitdiff
path: root/block/Kconfig.iosched
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-03-15 09:34:02 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:53:06 -0700
commitc45247fdfb2ddf4a96574f8dd3b6857056c20c91 (patch)
tree4f0ccd446fffc1c0038a2c3c05e3c625f22b5f55 /block/Kconfig.iosched
parent2cbfe1645597e81c6f6af0b5245ab67cac6db027 (diff)
xfs: Fix oops on IO error during xlog_recover_process_iunlinks()
commit d97d32edcd732110758799ae60af725e5110b3dc upstream. When an IO error happens during inode deletion run from xlog_recover_process_iunlinks() filesystem gets shutdown. Thus any subsequent attempt to read buffers fails. Code in xlog_recover_process_iunlinks() does not count with the fact that read of a buffer which was read a while ago can really fail which results in the oops on agi = XFS_BUF_TO_AGI(agibp); Fix the problem by cleaning up the buffer handling in xlog_recover_process_iunlinks() as suggested by Dave Chinner. We release buffer lock but keep buffer reference to AG buffer. That is enough for buffer to stay pinned in memory and we don't have to call xfs_read_agi() all the time. Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'block/Kconfig.iosched')
0 files changed, 0 insertions, 0 deletions