Re: [PATCH] common/rc: Fix _check_s_dax()

From: Christoph Hellwig
Date: Thu Dec 03 2020 - 03:16:57 EST


On Wed, Dec 02, 2020 at 01:41:45PM -0800, ira.weiny@xxxxxxxxx wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>
> There is a conflict with the user visible statx bits 'mount root' and
> 'dax'. The kernel is changing the dax bit to correct this conflict.[1]
>
> Adjust _check_s_dax() to use the new bit. Because DAX tests do not run
> on root mounts, STATX_ATTR_MOUNT_ROOT should always be 0, therefore we
> can allow either bit to indicate DAX and cover any kernel which may be
> running.
>
> [1] https://lore.kernel.org/lkml/3e28d2c7-fbe5-298a-13ba-dcd8fd504666@xxxxxxxxxx/
>
> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> ---
>
> I went ahead and used Christoph's suggestion regarding using both bits.

That wasn't my suggestion. I think we should always error out when
the bit value shared with STATX_ATTR_MOUNT_ROOT is seen. Because that
means the kernel is not using or fixed ABI we agreed to use going
forward.