> 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. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs