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.
|