On Wed 30-08-17 05:34:50, Christoph Hellwig wrote: > On Wed, Aug 30, 2017 at 12:00:59PM +0200, Jan Kara wrote: > > /dev/ram0 /mnt xfs rw,relatime,attr2,dax,inode64,noquota 0 0 > > > > marvin5:~/:[0]# ls /mnt/ > > fsxfile fsxfile.fsxgood fsxfile.fsxlog > > > > marvin5:~/:[0]# ./xfsprogs-dev/io/xfs_io -c 'lsattr' /mnt/fsxfile > > -p-------------- /mnt/fsxfile > > > > marvin5:~/:[0]# ./xfsprogs-dev/io/xfs_io -c 'chattr +x' /mnt/fsxfile > > > > marvin5:~/:[0]# ./xfsprogs-dev/io/xfs_io -c 'lsattr' /mnt/fsxfile > > -p-------------- /mnt/fsxfile > > > > No DAX flag set and no error... What am I doing wrong? > > Odd. Even on a non-DAX device the flag sticks for me: > > root@testvm:~# mount /dev/sda /mnt/ > root@testvm:~# touch foo > root@testvm:~# cd /mnt/ > root@testvm:/mnt# xfs_io -c 'chattr +x' foo > root@testvm:/mnt# xfs_io -c 'lsattr' foo > --------------x- foo OK, tracked this down. I had the XFS filesystem created so that ip->i_d.di_version < 3 check in xfs_set_diflags() was true and so the flag got silently ignored. I'd hope to get error in such case but whatever... Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR