On Mon, Aug 26, 2019 at 02:49:46PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > In xfs_rmap_irec_offset_unpack, we should always clear the contents of > rm_flags before we begin unpacking the encoded (ondisk) offset into the > incore rm_offset and incore rm_flags fields. Remove the open-coded > field zeroing as this encourages api misuse. This one doesn't fit the series' theme, does it? :) > +++ b/fs/xfs/libxfs/xfs_rmap.c > @@ -168,7 +168,6 @@ xfs_rmap_btrec_to_irec( > union xfs_btree_rec *rec, > struct xfs_rmap_irec *irec) > { > - irec->rm_flags = 0; > irec->rm_startblock = be32_to_cpu(rec->rmap.rm_startblock); > irec->rm_blockcount = be32_to_cpu(rec->rmap.rm_blockcount); > irec->rm_owner = be64_to_cpu(rec->rmap.rm_owner); > diff --git a/fs/xfs/libxfs/xfs_rmap.h b/fs/xfs/libxfs/xfs_rmap.h > index 0c2c3cb73429..abe633403fd1 100644 > --- a/fs/xfs/libxfs/xfs_rmap.h > +++ b/fs/xfs/libxfs/xfs_rmap.h > @@ -68,6 +68,7 @@ xfs_rmap_irec_offset_unpack( > if (offset & ~(XFS_RMAP_OFF_MASK | XFS_RMAP_OFF_FLAGS)) > return -EFSCORRUPTED; > irec->rm_offset = XFS_RMAP_OFF(offset); > + irec->rm_flags = 0; The change looks sensible-ish. But why do we even have a separate xfs_rmap_irec_offset_unpack with a single caller nd out of the way in a header? Wouldn't it make sense to just merge the two functions?