On Sun, Oct 20, 2019 at 08:59:32AM -0700, ira.weiny@xxxxxxxxx wrote: > From: Ira Weiny <ira.weiny@xxxxxxxxx> > > xfs_ioctl_setattr_dax_invalidate() currently checks if the DAX flag is > changing as a quick check. > > But the implementation mixes the physical (XFS_DIFLAG2_DAX) and > effective (S_DAX) DAX flags. More nuanced than that. The idea was that if the mount option was set, clearing the per-inode flag would override the mount option. i.e. the mount option sets the S_DAX flag at inode instantiation, so using FSSETXATTR to ensure the FS_XFLAG_DAX is not set would override the mount option setting, giving applications a way of guranteeing they aren't using DAX to access the data. So if the mount option is going to live on, I suspect that we want to keep this code as it stands. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx