xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 6/9] xfs: kill xfs_bioerror_relse
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Thu, 28 Aug 2014 17:32:57 -0700
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1408084747-4540-7-git-send-email-david@xxxxxxxxxxxxx>
References: <1408084747-4540-1-git-send-email-david@xxxxxxxxxxxxx> <1408084747-4540-7-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
> 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.

<Prev in Thread] Current Thread [Next in Thread>