[PATCH v3] xfs: Fix oops on IO error during xlog_recover_process_iunlinks()
Ben Myers
bpm at sgi.com
Mon Mar 26 16:56:01 CDT 2012
On Thu, Mar 15, 2012 at 10:34:02AM +0100, Jan Kara wrote:
> 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.
>
> CC: stable at kernel.org
> Signed-off-by: Jan Kara <jack at suse.cz>
Looks good to me...
Reviewed-by: Ben Myers <bpm at sgi.com>
More information about the xfs
mailing list