virtiofs: dax: remove ->writepages() callback
authorAsahi Lina <lina@asahilina.net>
Tue, 12 Nov 2024 19:55:32 +0000 (04:55 +0900)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 18 Nov 2024 11:24:38 +0000 (12:24 +0100)
commitd1dfb5f52ffc4a142d88da5c0ed0514f3602c4b8
treea441a2f3ef752a0bc6cd4cb07eeda7501e5054c8
parent69eb56f69efb866c791cc87fd7bf62adf2ffcbb3
virtiofs: dax: remove ->writepages() callback

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@asahilina.net/T/#u

[SzM: remove the empty callback]

Suggested-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dax.c