]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
xfs: XFS_DIFLAG2_DAX limited by PAGE_SIZE
authorDave Chinner <dchinner@redhat.com>
Mon, 29 Feb 2016 22:41:33 +0000 (09:41 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 29 Feb 2016 22:41:33 +0000 (09:41 +1100)
commit64485437357dfdc9752495b3f496adfc5c816c6f
treef72baeebfa22e3319c1c5be99db8d83da944fc86
parent3a6a854a82fc1cf12c7f2095b80aff32c563b3ab
xfs: XFS_DIFLAG2_DAX limited by PAGE_SIZE

If the block size of a filesystem is not at least PAGE_SIZEd, then
at this point in time DAX cannot be used due to the fact we can't
guarantee extents are page sized or aligned without further work.
Hence disallow setting the DAX flag on an inode if the block size is
too small. Also, be defensive and check the block size when reading
an inode in off disk.

In future, we want to allow DAX to work on any filesystem, so this
is temporary while we sort of the correct conbination of extent size
hints and allocation alignment configurations needed to guarantee
page sized and aligned extent allocation for DAX enabled files.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Tested-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_ioctl.c
fs/xfs/xfs_iops.c