| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 03/19] xfs: uncached buffer reads need to return an error |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Thu, 11 Oct 2012 17:38:02 -0400 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1349754670-32009-4-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1349754670-32009-1-git-send-email-david@xxxxxxxxxxxxx> <1349754670-32009-4-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
> index 917e121..dee14eb 100644
> --- a/fs/xfs/xfs_fsops.c
> +++ b/fs/xfs/xfs_fsops.c
> @@ -149,6 +149,11 @@ xfs_growfs_data_private(
> XFS_FSS_TO_BB(mp, 1), 0, NULL);
> if (!bp)
> return EIO;
> + if (bp->b_error) {
> + int error = bp->b_error;
> + xfs_buf_relse(bp);
> + return error;
> + }
> xfs_buf_relse(bp);
> + if (bp->b_error) {
> + error = bp->b_error;
> + if (loud)
> + xfs_warn(mp, "SB validate failed");
> + goto release_buf;
> + }
> + if (bp->b_error) {
> + error = bp->b_error;
> + xfs_buf_relse(bp);
> + return error;
> + }
> + if (!bp || bp->b_error) {
> xfs_warn(mp, "realtime device size check failed");
> + if (bp)
> + xfs_buf_relse(bp);
> return EIO;
> }
> xfs_buf_relse(bp);
It seems like all these callers would be a lot cleaner if we'd just
return the error as the return value, and a buffer as an indirect
pointer if and only if the read succeeded.
|
| Previous by Date: | Re: [PATCH 02/19] xfs: make buffer read verication an IO completion function, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [PATCH 04/19] xfs: verify superblocks as they are read from disk, Christoph Hellwig |
| Previous by Thread: | [PATCH 03/19] xfs: uncached buffer reads need to return an error, Dave Chinner |
| Next by Thread: | Re: [PATCH 03/19] xfs: uncached buffer reads need to return an error, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |