On Mon, Feb 15, 2016 at 04:22:10PM +1100, Dave Chinner wrote: > Hi folks, > > This is a series to add the correct constraints to using the on-disk > inode flag to enable DAX on per-file basis. The same constraints are > placed on setting the flag on directories for inheritance purposes. > > These constraints are: > - the inode flag is limited to regular files or directory > inodes. > - the S_DAX flag is only ever set on regular files > - the flag can only ever be set on filesystems which have > blocksize == PAGE_SIZE (for now) > - When the flag is set or cleared, the current mapping > contents are flushed and then invalidated so that the new > access mode starts with an empty mapping. > - Setting or clearing the flag is atomic w.r.t. IO and > page faults. > > I've tested these manually with xfs_io (patchset for supporting > chattr +x/-x to be sent soon), and it all appears to work as > expected. I'd like to push these for 4.5-rc6 so the initial kernel > with support for this flag doesn't do silly things, so comments, > testing and review woul dbe appreciated. > > Cheers, > > Dave. This seems like what we want to be doing for raw block devices, when we add back in support. Default to DAX off so we have to opt-in, and when we get an IOCTL to enable them block I/O and page faults, clear out all mappings and radix tree entries, and then change the flag and turn back on I/O and page faults. We'll also need to add a check to prevent mounts on raw block devices with S_DAX set. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs