diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-03 20:36:13 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-04-11 00:07:53 -0400 |
commit | 93580522d265ddb88ee6c059930746ed41aa854a (patch) | |
tree | f8d9fc57023c28f51146bbf0c76f469bf2fa7385 | |
parent | fb9b37da91747dc23e0966028d65b9b0b9b8c20b (diff) |
tests/bcachefs: update for debugfs layout change
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rwxr-xr-x | tests/bcachefs/single_device.ktest | 70 |
1 files changed, 56 insertions, 14 deletions
diff --git a/tests/bcachefs/single_device.ktest b/tests/bcachefs/single_device.ktest index 92c6a5e..7476a08 100755 --- a/tests/bcachefs/single_device.ktest +++ b/tests/bcachefs/single_device.ktest @@ -176,7 +176,7 @@ test_reflink2() cp --reflink /mnt/foo /mnt/foo5 cp --reflink /mnt/foo /mnt/foo6 - cat /sys/kernel/debug/bcachefs/*/btrees/reflink + cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys dd if=/dev/urandom of=/mnt/foo2 bs=4k oflag=direct conv=notrunc count=1 dd if=/dev/urandom of=/mnt/foo3 bs=4k oflag=direct conv=notrunc count=1 seek=1 @@ -186,11 +186,11 @@ test_reflink2() dd if=/dev/urandom of=/mnt/foo6 bs=4k oflag=direct conv=notrunc count=1 seek=3 dd if=/dev/urandom of=/mnt/foo6 bs=4k oflag=direct conv=notrunc count=1 seek=2 - cat /sys/kernel/debug/bcachefs/*/btrees/reflink + cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys - cat /sys/kernel/debug/bcachefs/*/btrees/reflink|wc -l + cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys|wc -l rm /mnt/foo* - cat /sys/kernel/debug/bcachefs/*/btrees/reflink|wc -l + cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys|wc -l umount /mnt @@ -218,9 +218,9 @@ test_reflink() wait - cat /sys/kernel/debug/bcachefs/*/btrees/reflink|wc -l + cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys|wc -l rm /mnt/fiotest* - nr_left=`cat /sys/kernel/debug/bcachefs/*/btrees/reflink|wc -l` + nr_left=`cat /sys/kernel/debug/bcachefs/*/btrees/reflink/keys|wc -l` echo "nr_left: $nr_left" [[ $nr_left = 0 ]] @@ -304,7 +304,7 @@ test_merge_torture_flakey() echo seq_delete $n 1 > /sys/fs/bcachefs/*/perf_test echo -n "nodes: " - grep "^l " /sys/kernel/debug/bcachefs/*/btrees/xattrs-formats|wc -l + grep "^l " /sys/kernel/debug/bcachefs/*/btrees/xattrs/formats|wc -l df -h /mnt echo "inserting keys" @@ -312,21 +312,25 @@ test_merge_torture_flakey() sleep 10 echo "starting write errors" + echo "enabling errors" set_dm_table "$FLAKEY_TABLE_ERROR" wait umount /mnt + echo "disabling errors" set_dm_table "$FLAKEY_TABLE" mount -t bcachefs -o fsck /dev/mapper/flakey /mnt echo seq_delete $n 1 > /sys/fs/bcachefs/*/perf_test & sleep 2 + echo "enabling errors" set_dm_table "$FLAKEY_TABLE_ERROR" wait umount /mnt + echo "disabling errors" set_dm_table "$FLAKEY_TABLE" done @@ -355,7 +359,7 @@ d_test_merge_torture() echo rand_delete $n 1 > /sys/fs/bcachefs/*/perf_test echo -n "nodes: " - grep "^l " /sys/kernel/debug/bcachefs/*/xattrs-formats|wc -l + grep "^l " /sys/kernel/debug/bcachefs/*/xattrs/formats|wc -l df -h /mnt umount /mnt @@ -417,7 +421,7 @@ test_drop_alloc() umount /mnt echo "reconstructing alloc:" - mount -t bcachefs -o reconstruct_alloc,fsck,fix_errors ${ktest_scratch_dev[0]} /mnt + mount -t bcachefs -o reconstruct_alloc ${ktest_scratch_dev[0]} /mnt umount /mnt mount -t bcachefs -o fsck ${ktest_scratch_dev[0]} /mnt @@ -471,14 +475,14 @@ test_fcollapse() dd if=/dev/zero of=/mnt/foo bs=4k count=4 oflag=direct echo "before fcollapse" - cat /sys/kernel/debug/bcachefs/*/btrees/extents + cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys ls -l /mnt/foo echo xfs_io -c "fcollapse 4k 2k" /mnt/foo echo "after fcollapse" - cat /sys/kernel/debug/bcachefs/*/btrees/extents + cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys ls -l /mnt/foo echo @@ -496,7 +500,7 @@ test_finsert() dd if=/dev/zero of=/mnt/foo bs=64k count=1 oflag=direct - cat /sys/kernel/debug/bcachefs/*/btrees/extents + cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys xfs_io -c "finsert 1024 1024" /mnt/foo umount /mnt @@ -514,7 +518,7 @@ test_key_merge() dd if=/dev/zero of=/mnt/foo bs=8k count=128 oflag=direct - NR=$(cat /sys/kernel/debug/bcachefs/*/btrees/extents|wc -l) + NR=$(cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys|wc -l) [[ $NR -eq 4 ]] @@ -535,7 +539,7 @@ test_key_merge_csum() cat /mnt/foo > /dev/null - NR=$(cat /sys/kernel/debug/bcachefs/*/btrees/extents|wc -l) + NR=$(cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys|wc -l) [[ $NR -le 16 ]] @@ -1616,6 +1620,44 @@ test_kill_btree_node() check_counters ${ktest_scratch_dev[0]} } +test_kill_btree_root() +{ + set_watchdog 240 + run_quiet "" bcachefs format -f --btree_node_size=64k ${ktest_scratch_dev[0]} + + mount -t bcachefs ${ktest_scratch_dev[0]} /mnt + cp -a /usr/bin /mnt + sync + + cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys > /root/extents_before + + umount /mnt + bcachefs list -m nodes ${ktest_scratch_dev[0]} > /root/nodes_before + + #bcachefs kill_btree_node -b extents -l 1 ${ktest_scratch_dev[0]} + bcachefs kill_btree_node -b snapshots -l 0 ${ktest_scratch_dev[0]} + + echo "Running fsck" + # How to assert exit status equals something specific with -o errexit? + mount -t bcachefs -o fsck,fix_errors,verbose ${ktest_scratch_dev[0]} /mnt + + cat /sys/kernel/debug/bcachefs/*/btrees/extents/keys > /root/extents_after + + umount /mnt + bcachefs list -m nodes ${ktest_scratch_dev[0]} > /root/nodes_after + #bcachefs fsck -y ${ktest_scratch_dev[0]} || true + + echo + echo "Running fsck again; should be clean" + + bcachefs fsck -yk ${ktest_scratch_dev[0]} || true + mount -t bcachefs -o fsck,fix_errors,verbose ${ktest_scratch_dev[0]} /mnt + diff -rq /usr/bin /mnt/bin + umount /mnt + + check_counters ${ktest_scratch_dev[0]} +} + test_multimount() { set_watchdog 10 |