From 640e4f6d7ae3ac930ff2f569098c43dfb6d3b532 Mon Sep 17 00:00:00 2001 From: Lu Fengqi Date: Thu, 8 Mar 2018 16:30:53 +0800 Subject: [PATCH] btrfs/146: make sure hit all stripes in the case of compression In the case of compression, each 128K input data chunk will be compressed to 4K (because of the characters written are duplicate). Therefore we have to write (128K * 16) to make sure every stripe can be hit. Signed-off-by: Lu Fengqi Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- tests/btrfs/146 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/btrfs/146 b/tests/btrfs/146 index 7071c128..4d6c5be5 100755 --- a/tests/btrfs/146 +++ b/tests/btrfs/146 @@ -73,10 +73,13 @@ echo "Format and mount" _scratch_pool_mkfs "-d raid0 -m raid1" > $seqres.full 2>&1 _scratch_mount -# How much do we need to write? We need to hit all of the stripes. btrfs uses -# a fixed 64k stripesize, so write enough to hit each one +# How much do we need to write? We need to hit all of the stripes. btrfs uses a +# fixed 64k stripesize, so write enough to hit each one. In the case of +# compression, each 128K input data chunk will be compressed to 4K (because of +# the characters written are duplicate). Therefore we have to write +# (128K * 16) = 2048K to make sure every stripe can be hit. number_of_devices=`echo $SCRATCH_DEV_POOL | wc -w` -write_kb=$(($number_of_devices * 64)) +write_kb=$(($number_of_devices * 2048)) _require_fs_space $SCRATCH_MNT $write_kb testfile=$SCRATCH_MNT/fsync-err-test -- 2.39.5