On Mon, May 07, 2018 at 10:22:05AM -0500, Eric Sandeen wrote: > It's a bit dicey to pass in the smaller xfs_disk_dquot and then cast it to > something larger; pass in the full xfs_dqblk so we know the caller has sent > us the right thing. Rename the function to xfs_dqblk_repair for > clarity. > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > > V2: More precise commit summary > > fs/xfs/libxfs/xfs_dquot_buf.c | 21 +++++++++------------ > fs/xfs/libxfs/xfs_quota_defs.h | 2 +- > fs/xfs/xfs_qm.c | 2 +- > 3 files changed, 11 insertions(+), 14 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_dquot_buf.c b/fs/xfs/libxfs/xfs_dquot_buf.c > index c00174f32f0d..3b92427883fa 100644 > --- a/fs/xfs/libxfs/xfs_dquot_buf.c > +++ b/fs/xfs/libxfs/xfs_dquot_buf.c > @@ -104,29 +104,26 @@ xfs_dquot_verify( > * Do some primitive error checking on ondisk dquot data structures. > */ > int > -xfs_dquot_repair( > +xfs_dqblk_repair( > struct xfs_mount *mp, > - struct xfs_disk_dquot *ddq, > + struct xfs_dqblk *dqb, > xfs_dqid_t id, > uint type) > { > - struct xfs_dqblk *d = (struct xfs_dqblk *)ddq; > - > - > /* > * Typically, a repair is only requested by quotacheck. > */ > ASSERT(id != -1); > - memset(d, 0, sizeof(xfs_dqblk_t)); > + memset(dqb, 0, sizeof(xfs_dqblk_t)); > > - d->dd_diskdq.d_magic = cpu_to_be16(XFS_DQUOT_MAGIC); > - d->dd_diskdq.d_version = XFS_DQUOT_VERSION; > - d->dd_diskdq.d_flags = type; > - d->dd_diskdq.d_id = cpu_to_be32(id); > + dqb->dd_diskdq.d_magic = cpu_to_be16(XFS_DQUOT_MAGIC); > + dqb->dd_diskdq.d_version = XFS_DQUOT_VERSION; > + dqb->dd_diskdq.d_flags = type; > + dqb->dd_diskdq.d_id = cpu_to_be32(id); > > if (xfs_sb_version_hascrc(&mp->m_sb)) { > - uuid_copy(&d->dd_uuid, &mp->m_sb.sb_meta_uuid); > - xfs_update_cksum((char *)d, sizeof(struct xfs_dqblk), > + uuid_copy(&dqb->dd_uuid, &mp->m_sb.sb_meta_uuid); > + xfs_update_cksum((char *)dqb, sizeof(struct xfs_dqblk), > XFS_DQUOT_CRC_OFF); > } > > diff --git a/fs/xfs/libxfs/xfs_quota_defs.h b/fs/xfs/libxfs/xfs_quota_defs.h > index 8433656af0da..a2f8cb334bb3 100644 > --- a/fs/xfs/libxfs/xfs_quota_defs.h > +++ b/fs/xfs/libxfs/xfs_quota_defs.h > @@ -154,7 +154,7 @@ typedef uint16_t xfs_qwarncnt_t; > extern xfs_failaddr_t xfs_dquot_verify(struct xfs_mount *mp, > struct xfs_disk_dquot *ddq, xfs_dqid_t id, uint type); > extern int xfs_calc_dquots_per_chunk(unsigned int nbblks); > -extern int xfs_dquot_repair(struct xfs_mount *mp, struct xfs_disk_dquot *ddq, > +extern int xfs_dqblk_repair(struct xfs_mount *mp, struct xfs_dqblk *dqb, > xfs_dqid_t id, uint type); > > #endif /* __XFS_QUOTA_H__ */ > diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c > index c71ad79bb2e6..6690b938d450 100644 > --- a/fs/xfs/xfs_qm.c > +++ b/fs/xfs/xfs_qm.c > @@ -867,7 +867,7 @@ xfs_qm_reset_dqcounts( > */ > fa = xfs_dquot_verify(mp, ddq, id + j, type); > if (fa) > - xfs_dquot_repair(mp, ddq, id + j, type); > + xfs_dqblk_repair(mp, &dqb[j], id + j, type); > > /* > * Reset type in case we are reusing group quota file for > -- > 2.17.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html