Re: [PATCH 6/9] xfs: kill xfs_bioerror_relse

Christoph Hellwig
2014-08-29T00:33:06Z

> index 96c898e..758c07d 100644
> --- a/fs/xfs/xfs_trans_buf.c
> +++ b/fs/xfs/xfs_trans_buf.c
> @@ -324,11 +324,13 @@ xfs_trans_read_buf_map(
> */
> if (XFS_FORCED_SHUTDOWN(mp)) {
> trace_xfs_bdstrat_shut(bp, _RET_IP_);
> - xfs_bioerror_relse(bp);
> - } else {
> - xfs_buf_iorequest(bp);
> + bp->b_flags &= ~(XBF_READ | XBF_DONE);
> + xfs_buf_ioerror(bp, -EIO);
> + xfs_buf_stale(bp);
> + return -EIO;
> }

This is a large change of behavior as it doesn't hit the error
path after the xfs_buf_iowait anymore. While I don't think that
that path was entirely correct this version seems to be even less so
by not releasing the buffer reference or forcing the shutdown.