xfs: fix and streamline error handling in xfs_end_io
authorChristoph Hellwig <hch@lst.de>
Thu, 2 Mar 2017 23:02:51 +0000 (15:02 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 8 Mar 2017 04:10:50 +0000 (20:10 -0800)
commit787eb485509f9d58962bd8b4dbc6a5ac6e2034fe
treee046efdfd0c5db5c22dfa022224d60df41c14689
parent3802a345321a08093ba2ddb1849e736f84e8d450
xfs: fix and streamline error handling in xfs_end_io

There are two different cases of buffered I/O errors:

 - first we can have an already shutdown fs.  In that case we should skip
   any on-disk operations and just clean up the appen transaction if
   present and destroy the ioend
 - a real I/O error.  In that case we should cleanup any lingering COW
   blocks.  This gets skipped in the current code and is fixed by this
   patch.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_aops.c