When a partition is not aligned by 4KB, mount -o dax succeeds,
but any read/write access to the filesystem fails, except for
metadata update.  Add alignment check to ext4, ext2, and xfs.

- Patch 1-2 add bdev_supports_dax() which performs all the checks
  necessary for dax mount.
- Patch 3-5 change fillesystems to call bdev_supports_dax().

v3:
 - Remove boilerplate code from filesytems (Christoph Hellwig)
 - Add a helper function to perform all checks (Dave Chinner)

v2:
 - Use a helper function via ->direct_access for the check.
   (Christoph Hellwig)
 - Call bdev_direct_access() with sector 0 for the check.
   (Boaz Harrosh)

---
Toshi Kani (5):
 1/5 block: Add vfs_msg() interface
 2/5 block: Add bdev_supports_dax() for dax mount checks
 3/5 ext4: Add alignment check for DAX mount
 4/5 ext2: Add alignment check for DAX mount
 5/5 xfs: Add alignment check for DAX mount

---
 fs/block_dev.c         | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/ext2/super.c        | 11 ++--------
 fs/ext4/super.c        | 11 ++--------
 fs/xfs/xfs_super.c     | 12 +++++------
 include/linux/blkdev.h | 12 +++++++++++
 5 files changed, 75 insertions(+), 25 deletions(-)

Reply via email to