Re: [PATCH v2 1/3] ext4: Add alignment check for DAX mount

From: Toshi Kani
Date: Tue May 03 2016 - 11:50:36 EST

On Tue, 2016-05-03 at 08:43 -0600, Ross Zwisler wrote:
> On Tue, May 03, 2016 at 11:00:21AM +0200, Jan Kara wrote:
> >
> > On Tue 03-05-16 01:44:10, Christoph Hellwig wrote:
> > >
> > > Please come up with a version that doesn't require tons of
> > > boilerplate code in every file system.
> >
> > Well, I was thinking about some helper as well but we could save ~4
> > lines with that and that didn't seem significant to me. Most of the
> > lines is actually reporting appropriate mount error in dmesg and that
> > is fs-dependent so it needs to stay in the filesystem... So what do you
> > have in mind?
> I guess if you wanted to reduce the code needed in each filesystem, you
> could avoid having different error messages for each of the failure
> conditions, and just print the error value.ÂÂAll the error cases caught
> by the current code are unique, so we aren't losing any information.ÂÂThe
> resulting patch for ext4 would look like this:

I'd prefer to keep the "error: device does not support dax" andÂ"error:
unaligned partition for dax" messages since they clarify the problem as a
user error. The former case is especially common with BTT. The "error: dax
access failed (%d)" message is helpful when we need to look into the case.

If XFS is OK to use the messages similar to ext2/4, then we can do:Â

Â* Add a new helper function, say bdev_check_dax_mount(), which logs common
error messages with pr_err(), such as:
   Â"VFS (pmem0): error: device does not support dax"
Â* When bdev_check_dax_mount() returns with a negative value:
 Â- XFS logs an additional message below via xfs_alert() and proceeds
without dax option.
   Â"XFS (pmem0): Turning DAX off."
 Â- ext2/4 fails the mount.