Re: [PATCH] btrfs/122: adjust nodesize to match pagesize

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]





On 01/06/2023 17:32, Zorro Lang wrote:
On Mon, May 29, 2023 at 09:13:20PM +0800, Anand Jain wrote:
btrf/122 is failing on a system with 64k page size:

      QA output created by 122
     +ERROR: illegal nodesize 16384 (smaller than 65536)
     +mount: /mnt/scratch: wrong fs type, bad option, bad superblock on /dev/vdb2, missing codepage or helper program, or other error.
     +mount /dev/vdb2 /mnt/scratch failed
     +(see /xfstests-dev/results//btrfs/122.full for details)

This test case requires the use of a 16k node size, however, it is not
possible on a system with a 64k page size. The smallest possible node size
is the page size. So, set nodesize to the system page size instead.

Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
---
  tests/btrfs/122 | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/btrfs/122 b/tests/btrfs/122
index 345317536f40..e7694173cc24 100755
--- a/tests/btrfs/122
+++ b/tests/btrfs/122
@@ -18,9 +18,10 @@ _supported_fs btrfs
  _require_scratch
  _require_btrfs_qgroup_report
-# Force a small leaf size to make it easier to blow out our root
+# Force a smallest possible leaf size to make it easier to blow out our root
  # subvolume tree
-_scratch_mkfs "--nodesize 16384" >/dev/null
+pagesize=$(get_page_size)
+_scratch_mkfs "--nodesize $pagesize" >> $seqres.full || _fail "mkfs failed"

Will this patch change the original test target? Due to it hopes to test
nodesize=16k in 4k pagesize machine, but now it tests 4k nodesize as this
change.

How about:
   nodesize=16384
   pagesize=$(get_page_size)
   if [ $pagesize -gt $nodesize ];then
   	nodesize=$pagesize
   fi
   _scratch_mkfs "--nodesize $nodesize" ...

Or
   pagesize=$(get_page_size)
   nodesize=$((4 * pagesize))
   if [ $nodesize -gt 65536 ];then
       nodesize=65536
   fi
   _scratch_mkfs "--nodesize $nodesize" ...


Thanks for the review. Originally, the test case sets a 16K node size,
which is also the default node size. In fact, it would be better to
remove the nodesize option altogether. I'll send v2.

- Anand


Thanks,
Zorro


  _scratch_mount
  _run_btrfs_util_prog quota enable $SCRATCH_MNT
--
2.38.1





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux