[PATCH 0/4] xfs: fixes for XFS_DIFLAG2_DAX support
Ross Zwisler
ross.zwisler at linux.intel.com
Wed Feb 17 16:56:45 CST 2016
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.
More information about the xfs
mailing list