Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1395527 > unrolled thread

[PATCH v3 5/5] xfs: Add alignment check for DAX mount

Started byToshi Kani <toshi.kani@hpe.com>
First post2016-05-06 02:40 +0200
Last post2016-05-08 11:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 5/5] xfs: Add alignment check for DAX mount Toshi Kani <toshi.kani@hpe.com> - 2016-05-06 02:40 +0200
    Re: [PATCH v3 5/5] xfs: Add alignment check for DAX mount Christoph Hellwig <hch@infradead.org> - 2016-05-08 11:00 +0200

#1395527 — [PATCH v3 5/5] xfs: Add alignment check for DAX mount

FromToshi Kani <toshi.kani@hpe.com>
Date2016-05-06 02:40 +0200
Subject[PATCH v3 5/5] xfs: Add alignment check for DAX mount
Message-ID<rvBYe-2li-29@gated-at.bofh.it>
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.

Call bdev_supports_dax() to perform proper precondition checks
which includes this partition alignment check.

Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Boaz Harrosh <boaz@plexistor.com>
---
 fs/xfs/xfs_super.c |   12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 187e14b..cc177da 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1558,14 +1558,12 @@ xfs_fs_fill_super(
 
 	if (mp->m_flags & XFS_MOUNT_DAX) {
 		xfs_warn(mp,
-	"DAX enabled. Warning: EXPERIMENTAL, use at your own risk");
-		if (sb->s_blocksize != PAGE_SIZE) {
-			xfs_alert(mp,
-		"Filesystem block size invalid for DAX Turning DAX off.");
-			mp->m_flags &= ~XFS_MOUNT_DAX;
-		} else if (!sb->s_bdev->bd_disk->fops->direct_access) {
+		"DAX enabled. Warning: EXPERIMENTAL, use at your own risk");
+
+		error = bdev_supports_dax(sb, sb->s_blocksize);
+		if (error) {
 			xfs_alert(mp,
-		"Block device does not support DAX Turning DAX off.");
+			"DAX unsupported by block device. Turning off DAX.");
 			mp->m_flags &= ~XFS_MOUNT_DAX;
 		}
 	}

[toc] | [next] | [standalone]


#1396398

FromChristoph Hellwig <hch@infradead.org>
Date2016-05-08 11:00 +0200
Message-ID<rwsJd-3ub-17@gated-at.bofh.it>
In reply to#1395527
Looks fine for now.  In the long run we'll need to check it for the
RT subvolume as well, or prohibit DAX if there is an active RT
subvolume.

Reviewed-by: Christoph Hellwig <hch@lst.de>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web