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>