xfs: Add infrastructure needed for error propagation during buffer IO failure
authorCarlos Maiolino <cmaiolino@redhat.com>
Wed, 9 Aug 2017 01:21:50 +0000 (18:21 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 22 Aug 2017 16:22:23 +0000 (09:22 -0700)
commit0b80ae6ed13169bd3a244e71169f2cc020b0c57a
tree96553adda7d1f33e20161a3b935a750a685fd043
parent6f4a1eefdd0ad4561543270a7fceadabcca075dd
xfs: Add infrastructure needed for error propagation during buffer IO failure

With the current code, XFS never re-submit a failed buffer for IO,
because the failed item in the buffer is kept in the flush locked state
forever.

To be able to resubmit an log item for IO, we need a way to mark an item
as failed, if, for any reason the buffer which the item belonged to
failed during writeback.

Add a new log item callback to be used after an IO completion failure
and make the needed clean ups.

Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-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_buf_item.c
fs/xfs/xfs_trans.h