On Tue, May 10, 2022 at 04:20:19PM -0700, Darrick J. Wong wrote: > On Mon, May 09, 2022 at 10:41:27AM +1000, Dave Chinner wrote: > > diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h > > index d016af4dbf81..37db61649217 100644 > > --- a/fs/xfs/libxfs/xfs_attr.h > > +++ b/fs/xfs/libxfs/xfs_attr.h > > @@ -450,16 +450,21 @@ enum xfs_delattr_state { > > XFS_DAS_RMTBLK, /* Removing remote blks */ > > XFS_DAS_RM_NAME, /* Remove attr name */ > > XFS_DAS_RM_SHRINK, /* We are shrinking the tree */ > > + > > + /* Leaf state set sequence */ > > I think this comment should note that the state increment operations of > xfs_attr_set_iter requires that the exact order of the values > FOUND_[LN]BLK through RM_[LN]BLK must be preserved exactly. Happens later, as you've already noticed, when.... > Question: Are we supposed to be able to dela_state++ our way from > RM_LBLK to RD_LEAF and from RM_NBLK to CLR_FLAG? ... we are finally able to dela_state++ our way right through the leaf/node operations. > With that comment added, > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> Thanks! -Dave. -- Dave Chinner david@xxxxxxxxxxxxx