diff options
author | Brian Foster <bfoster@redhat.com> | 2020-05-06 13:25:19 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2020-05-07 08:27:45 -0700 |
commit | cb6ad0993eb8973533235de8a35aa4b9c872d733 (patch) | |
tree | 27ed96b305b5348807d47589c3a7e7e5eab31b91 /fs/xfs/xfs_buf_item.h | |
parent | 8bc3b5e4b70d28f8edcafc3c9e4de515998eea9e (diff) | |
download | linux-stable-cb6ad0993eb8973533235de8a35aa4b9c872d733.tar.gz linux-stable-cb6ad0993eb8973533235de8a35aa4b9c872d733.tar.bz2 linux-stable-cb6ad0993eb8973533235de8a35aa4b9c872d733.zip |
xfs: refactor failed buffer resubmission into xfsaild
Flush locked log items whose underlying buffers fail metadata
writeback are tagged with a special flag to indicate that the flush
lock is already held. This is currently implemented in the type
specific ->iop_push() callback, but the processing required for such
items is not type specific because we're only doing basic state
management on the underlying buffer.
Factor the failed log item handling out of the inode and dquot
->iop_push() callbacks and open code the buffer resubmit helper into
a single helper called from xfsaild_push_item(). This provides a
generic mechanism for handling failed metadata buffer writeback with
a bit less code.
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Dave Chinner <dchinner@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>
Diffstat (limited to 'fs/xfs/xfs_buf_item.h')
-rw-r--r-- | fs/xfs/xfs_buf_item.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/xfs/xfs_buf_item.h b/fs/xfs/xfs_buf_item.h index 30114b510332..c9c57e2da932 100644 --- a/fs/xfs/xfs_buf_item.h +++ b/fs/xfs/xfs_buf_item.h @@ -59,8 +59,6 @@ void xfs_buf_attach_iodone(struct xfs_buf *, struct xfs_log_item *); void xfs_buf_iodone_callbacks(struct xfs_buf *); void xfs_buf_iodone(struct xfs_buf *, struct xfs_log_item *); -bool xfs_buf_resubmit_failed_buffers(struct xfs_buf *, - struct list_head *); bool xfs_buf_log_check_iovec(struct xfs_log_iovec *iovec); extern kmem_zone_t *xfs_buf_item_zone; |