Re: [PATCH] fuse: dax: No-op writepages callback

From: Dan Williams
Date: Tue Nov 12 2024 - 15:11:43 EST


Asahi Lina wrote:
> When using FUSE DAX with virtiofs, cache coherency is managed by the
> host. Disk persistence is handled via fsync() and friends, which are
> passed directly via the FUSE layer to the host. Therefore, there's no
> need to do dax_writeback_mapping_range(). All that ends up doing is a
> cache flush operation, which is not caught by KVM and doesn't do much,
> since the host and guest are already cache-coherent.
>
> Since dax_writeback_mapping_range() checks that the inode block size is
> equal to PAGE_SIZE, this fixes a spurious WARN when virtiofs is used
> with a mismatched guest PAGE_SIZE and virtiofs backing FS block size
> (this happens, for example, when it's a tmpfs and the host and guest
> have a different PAGE_SIZE). FUSE DAX does not require any particular FS
> block size, since it always performs DAX mappings in aligned 2MiB
> blocks.
>
> See discussion in [1].
>
> [1] https://lore.kernel.org/lkml/20241101-dax-page-size-v1-1-eedbd0c6b08f@xxxxxxxxxxxxx/T/#u
>
> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Signed-off-by: Asahi Lina <lina@xxxxxxxxxxxxx>
> ---
> fs/fuse/dax.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)

Looks good to me, thanks for the discussion on this.

Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>