On Sat, Apr 27, 2024 at 10:12:38AM +0530, Ritesh Harjani wrote: > "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 :) That is indeed nice. Thanks a lot for testing this Ritesh. :) > > -ritesh >