mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] dax: Allow block size > PAGE_SIZE
@ 2024-11-01 12:22 Asahi Lina
  2024-11-04 10:57 ` Jan Kara
  0 siblings, 1 reply; 17+ messages in thread
From: Asahi Lina @ 2024-11-01 12:22 UTC (permalink / raw)
  To: Dan Williams, Matthew Wilcox, Jan Kara, Alexander Viro,
	Christian Brauner
  Cc: Sergio Lopez Pascual, linux-fsdevel, nvdimm, linux-kernel, asahi,
	Asahi Lina

For virtio-dax, the file/FS blocksize is irrelevant. FUSE always uses
large DAX blocks (2MiB), which will work with all host page sizes. Since
we are mapping files into the DAX window on the host, the underlying
block size of the filesystem and its block device (if any) are
meaningless.

For real devices with DAX, the only requirement should be that the FS
block size is *at least* as large as PAGE_SIZE, to ensure that at least
whole pages can be mapped out of the device contiguously.

Fixes warning when using virtio-dax on a 4K guest with a 16K host,
backed by tmpfs (which sets blksz == PAGE_SIZE on the host).

Signed-off-by: Asahi Lina <lina@asahilina.net>
---
 fs/dax.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/dax.c b/fs/dax.c
index c62acd2812f8d4981aaba82acfeaf972f555362a..406fb75bdbe9d17a6e4bf3d4cb92683e90f05910 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1032,7 +1032,7 @@ int dax_writeback_mapping_range(struct address_space *mapping,
 	int ret = 0;
 	unsigned int scanned = 0;
 
-	if (WARN_ON_ONCE(inode->i_blkbits != PAGE_SHIFT))
+	if (WARN_ON_ONCE(inode->i_blkbits < PAGE_SHIFT))
 		return -EIO;
 
 	if (mapping_empty(mapping) || wbc->sync_mode != WB_SYNC_ALL)

---
base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e
change-id: 20241101-dax-page-size-83a1073b4e1b

Cheers,
~~ Lina


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-11-12 19:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-01 12:22 [PATCH] dax: Allow block size > PAGE_SIZE Asahi Lina
2024-11-04 10:57 ` Jan Kara
2024-11-04 15:31   ` Asahi Lina
2024-11-04 22:16     ` Dave Chinner
2024-11-06 10:55       ` Asahi Lina
2024-11-06 12:12         ` Jan Kara
2024-11-06 19:59           ` Dan Williams
2024-11-07 10:01             ` Jan Kara
2024-11-07 16:09               ` Asahi Lina
2024-11-07 21:24                 ` Dan Williams
2024-11-07 22:34                   ` Asahi Lina
2024-11-08 12:16                 ` Jan Kara
2024-11-12  9:49                   ` Asahi Lina
2024-11-12 14:34                     ` Jan Kara
2024-11-12 19:32                       ` Dan Williams
2024-11-07 21:22               ` Dan Williams
2024-11-07 20:52       ` Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®