On Wed, Dec 14, 2022 at 12:29:28PM +1100, Dave Chinner wrote: > On Tue, Dec 13, 2022 at 06:29:29PM +0100, Andrey Albershteyn wrote: > > Add flag to mark inodes which have fs-verity enabled on them (i.e. > > descriptor exist and tree is built). > ..... > > > > static inline bool xfs_dinode_has_bigtime(const struct xfs_dinode *dip) > > { > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > > index f08a2d5f96ad4..8d9c9697d3619 100644 > > --- a/fs/xfs/xfs_inode.c > > +++ b/fs/xfs/xfs_inode.c > > @@ -636,6 +636,8 @@ xfs_ip2xflags( > > flags |= FS_XFLAG_DAX; > > if (ip->i_diflags2 & XFS_DIFLAG2_COWEXTSIZE) > > flags |= FS_XFLAG_COWEXTSIZE; > > + if (ip->i_diflags2 & XFS_DIFLAG2_VERITY) > > + flags |= FS_VERITY_FL; > > } > > Ah, attribute flag confusion - easy to do. xflags (FS_XFLAG*) are a > different set of (extended) flags than the standard VFS inode flags > (FS_*_FL). > > To place the verity enabled state in the extended flags, you would > need to define FS_XFLAG_VERITY in include/uapi/linux/fs.h. You'll > also need to add the conversion from FS_VERITY_FL to FS_XFLAG_VERITY > to fileattr_fill_flags() and vice versa to fileattr_fill_xflags() > > This will allow both the VFS inode flags UAPI and the > FS_IOC_FSGETXATTR extended flag API to see the inode has verity > enabled on it. > > Once FS_XFLAG_VERITY is defined, changing the code in XFS to use it > directly instead of FS_VERITY_FL will result in everything working > correct throughout the code. Oh I see, thanks for the explanation. They are truly confusing :( I will adjusted it as suggested > > Cheers, > > Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx > -- - Andrey