diff options
author | Dave Chinner <dchinner@redhat.com> | 2020-06-29 14:49:14 -0700 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2020-07-07 07:15:07 -0700 |
commit | 428947e9d525ae3a03dbdce4cdbcb2afe020732d (patch) | |
tree | f6d8e185eda1d906bb15c42bb5a62569c0bf5d88 /fs/xfs/xfs_inode_item.c | |
parent | 2ef3f7f5db15aea47b92fd770bc45cf317aa2b97 (diff) |
xfs: handle buffer log item IO errors directly
Currently when a buffer with attached log items has an IO error
it called ->iop_error for each attched log item. These all call
xfs_set_li_failed() to handle the error, but we are about to change
the way log items manage buffers. hence we first need to remove the
per-item dependency on buffer handling done by xfs_set_li_failed().
We already have specific buffer type IO completion routines, so move
the log item error handling out of the generic error handling and
into the log item specific functions so we can implement per-type
error handling easily.
This requires a more complex return value from the error handling
code so that we can take the correct action the failure handling
requires. This results in some repeated boilerplate in the
functions, but that can be cleaned up later once all the changes
cascade through this code.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
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_inode_item.c')
0 files changed, 0 insertions, 0 deletions