On 6/14/23 13:46, Hannes Reinecke wrote:
Hi all,
now, that was easy.
Thanks to willy and his recent patchset to support large folios in
gfs2 turns out that most of the work to support high-order folios
for I/O is actually done.
It only need twe rather obvious patches to allocate folios with
the order derived from the mapping blocksize, and to adjust readahead
to avoid reading off the end of the device.
But with these two patches (and the patchset from hch to switch
the block device over to iomap) (and the patchset from ritesh to
support sub-blocksize iomap buffers) I can now do:
# modprobe brd rd_size=524288 rd_blksize=16384
# mkfs.xfs -b size=16384 /dev/ram0
it still fails when trying to mount the device:
XFS (ram0): Cannot set_blocksize to 16384 on device ram0
but to my understanding this is being worked on.
Turns out that was quite easy to fix (just remove the check in
set_blocksize()), but now I get this:
SGI XFS with ACLs, security attributes, quota, no debug enabled
XFS (ram0): File system with blocksize 16384 bytes. Only pagesize (4096)
or less will currently work.
Hmm. And btrfs doesn't fare better here:
BTRFS info (device ram0): using crc32c (crc32c-intel) checksum algorithm
BTRFS error (device ram0): sectorsize 16384 not yet supported for page
size 4096
BTRFS error (device ram0): superblock contains fatal errors
BTRFS error (device ram0): open_ctree failed
But at least we _can_ test these filesystems now :-)
Cheers,
Hannes