[PATCH V4 0/8] Enable ext4 support for per-file/directory DAX operations

ira.weiny
2020-05-21T19:13:19Z

From: Ira Weiny <ira.weiny@intel.com>

Changes from V3:
Change EXT4_DAX_FL to bit24
Cache device DAX support in the super block and use that is
ext4_should_use_dax()

Changes from V2:
Rework DAX exclusivity with verity and encryption based on feedback
from Eric

Enable the same per file DAX support in ext4 as was done for xfs. This series
builds and depends on the V11 series for xfs.[1]

This passes the same xfstests test as XFS.

The only issue is that this modifies the old mount option parsing code rather
than waiting for the new parsing code to be finalized.

This series starts with 3 fixes which include making Verity and Encrypt truly
mutually exclusive from DAX. I think these first 3 patches should be picked up
for 5.8 regardless of what is decided regarding the mount parsing.

[1] https://lore.kernel.org/lkml/20200428002142.404144-1-ira.weiny@intel.com/

To: linux-ext4@vger.kernel.org
To: Andreas Dilger <adilger.kernel@dilger.ca>
To: "Theodore Y. Ts'o" <tytso@mit.edu>
To: Jan Kara <jack@suse.cz>
To: Eric Biggers <ebiggers@kernel.org>

Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Ira Weiny (8):
fs/ext4: Narrow scope of DAX check in setflags
fs/ext4: Disallow verity if inode is DAX
fs/ext4: Change EXT4_MOUNT_DAX to EXT4_MOUNT_DAX_ALWAYS
fs/ext4: Update ext4_should_use_dax()
fs/ext4: Only change S_DAX on inode load
fs/ext4: Make DAX mount option a tri-state
fs/ext4: Introduce DAX inode flag
Documentation/dax: Update DAX enablement for ext4

Documentation/filesystems/dax.txt | 6 +-
Documentation/filesystems/ext4/verity.rst | 3 +
fs/ext4/ext4.h | 23 ++++--
fs/ext4/ialloc.c | 2 +-
fs/ext4/inode.c | 26 +++++--
fs/ext4/ioctl.c | 41 +++++++++--
fs/ext4/super.c | 85 ++++++++++++++++++-----
fs/ext4/verity.c | 5 +-
include/uapi/linux/fs.h | 1 +
9 files changed, 154 insertions(+), 38 deletions(-)

--
2.25.1