"Pankaj Raghav (Samsung)" <kernel@xxxxxxxxxxxxxxxx> writes: > From: Pankaj Raghav <p.raghav@xxxxxxxxxxx> > > This is the fourth version of the series that enables block size > page size > (Large Block Size) in XFS. The context and motivation can be seen in cover > letter of the RFC v1[1]. We also recorded a talk about this effort at LPC [3], > if someone would like more context on this effort. > > This series does not split a folio during truncation even though we have > an API to do so due to some issues with writeback. While it is not a > blocker, this feature can be added as a future improvement once we > get the base patches upstream (See patch 7). > > A lot of emphasis has been put on testing using kdevops. The testing has > been split into regression and progression. > > Regression testing: > In regression testing, we ran the whole test suite to check for > *regression on existing profiles due to the page cache changes. > > No regression was found with the patches added on top. > > Progression testing: > For progression testing, we tested for 8k, 16k, 32k and 64k block sizes. > To compare it with existing support, an ARM VM with 64k base page system > (without our patches) was used as a reference to check for actual failures > due to LBS support in a 4k base page size system. > > There are some tests that assumes block size < page size that needs to > be fixed. I have a tree with fixes for xfstests here [6], which I will be > sending soon to the list. Already a part of this has been upstreamed to > fstest. > > No new failures were found with the LBS support. I just did portability testing by creating XFS with 16k bs on x86 VM (4k pagesize), created some files + checksums. I then moved the disk to Power VM with 64k pagesize and mounted this. I was able to mount and all the file checksums passed. Then I did the vice versa, created a filesystem on Power VM with 64k blocksize and created 10 files with random data of 10MB each. I then hotplugged this device out from Power and plugged it into x86 VM and mounted it. <Logs of the 2nd operation> ~# mount /dev/vdk /mnt1/ [ 35.145350] XFS (vdk): EXPERIMENTAL: Filesystem with Large Block Size (65536 bytes) enabled. [ 35.149858] XFS (vdk): Mounting V5 Filesystem 91933a8b-1370-4931-97d1-c21213f31f8f [ 35.227459] XFS (vdk): Ending clean mount [ 35.235090] xfs filesystem being mounted at /mnt1 supports timestamps until 2038-01-19 (0x7fffffff) ~# cd /mnt1/ ~# sha256sum -c checksums file-1.img: OK file-2.img: OK file-3.img: OK file-4.img: OK file-5.img: OK file-6.img: OK file-7.img: OK file-8.img: OK file-9.img: OK file-10.img: OK So thanks for this nice portability which this series offers :) -ritesh