summaryrefslogtreecommitdiff
path: root/tests/bcachefs/ec.ktest
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-06-10 22:34:18 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-06-10 22:38:43 -0400
commit196a1f8f5d71e527ba0fb10c9cc00b5d3f9faa95 (patch)
tree2be279c7e8adc45a31b9ccb14cd29267b2070ae6 /tests/bcachefs/ec.ktest
parent45269422cb97ba03d6cb2690fffd7c414f071240 (diff)
tests/bcachefs/ec: Test improvements
- don't need errors=panic for most tests - but ec_gc does need errors=panic - ec_gc was exiting early, whoops - other refactoring/comments Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'tests/bcachefs/ec.ktest')
-rwxr-xr-xtests/bcachefs/ec.ktest32
1 files changed, 15 insertions, 17 deletions
diff --git a/tests/bcachefs/ec.ktest b/tests/bcachefs/ec.ktest
index 9914284..421c815 100755
--- a/tests/bcachefs/ec.ktest
+++ b/tests/bcachefs/ec.ktest
@@ -76,7 +76,6 @@ do_ec_test()
bcachefs_antagonist
run_quiet "" bcachefs format -f \
- --errors=panic \
--erasure_code \
"$@" \
--replicas=2 \
@@ -169,28 +168,32 @@ test_ec_gc()
{
set_watchdog 1200
- bcachefs_antagonist
+ local loops=$((($ktest_priority + 1) * 4))
+ # We need errors=panic since we're ignoring errors from fio:
run_quiet "" bcachefs format -f \
- --errors=continue \
+ --errors=panic \
--replicas=2 \
"${ktest_scratch_dev[@]}"
devs="$(join_by : "${ktest_scratch_dev[@]}")"
mount -t bcachefs -o erasure_code $devs /mnt
+ bcachefs_antagonist
+
fill_device /mnt/fiotest
- local loops=$((($ktest_priority + 1) * 4))
- for i in $(seq 1 $loops); do
+ # Writing with a small block size will increase the size of our metadata,
+ # meaning we'll eventually see -ENOSPC even though ideally we shouldn't
+ # since we're overwriting
+ # When we do, truncate to free up some space and keep going:
+ for i in $(seq 0 $loops); do
run_fio_base \
- --buffer_compress_percentage=50 \
- \
--name=randwrite \
--stonewall \
--rw=randwrite \
- --loops=$loops \
- --bsrange=4k-4k
+ --size=20G \
+ --bsrange=4k-4k || true
cur_size=$(stat -c '%s' /mnt/fiotest)
new_size=$(($cur_size - 1048576))
@@ -199,19 +202,15 @@ test_ec_gc()
truncate --size=$new_size /mnt/fiotest
done
- echo 1 > /sys/fs/bcachefs/*/internal/trigger_gc
- echo unmounting
- exit
-
bcachefs fs usage -h /mnt
umount /mnt
+ bcachefs fsck -n "${ktest_scratch_dev[@]}"
+
# test remount:
- mount -t bcachefs -o fix_errors,erasure_code $devs /mnt
+ mount -t bcachefs $devs /mnt
umount /mnt
- bcachefs fsck "${ktest_scratch_dev[@]}"
-
check_counters ${ktest_scratch_dev[0]}
}
@@ -223,7 +222,6 @@ do_remove_test()
set_watchdog 60
run_quiet "" bcachefs format \
- --errors=panic \
--erasure_code \
--replicas=2 \
"${ktest_scratch_dev[@]}"