From e3db9b12f236db16c307656e4250814cb7a54f5d Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Fri, 6 Sep 2024 18:28:06 -0400 Subject: tests/bcaches/ec: test_device_failed Signed-off-by: Kent Overstreet --- tests/fs/bcachefs/ec.ktest | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/fs/bcachefs/ec.ktest b/tests/fs/bcachefs/ec.ktest index 6e60a75..dadf16a 100755 --- a/tests/fs/bcachefs/ec.ktest +++ b/tests/fs/bcachefs/ec.ktest @@ -287,4 +287,37 @@ test_device_evacuate_online() do_remove_test 0 1 } +test_device_failed() +{ + set_watchdog 60 + + run_quiet "" bcachefs format -f --errors=panic \ + --erasure_code \ + --replicas=2 \ + "${ktest_scratch_dev[@]}" + + mount -t bcachefs "$(join_by : "${ktest_scratch_dev[@]}")" /mnt + + local fioout="$ktest_out/fio-out" + run_fio_randrw >"$fioout" 2>&1 & + local fiopid=$! + + sleep 1 + + bcachefs device set-state -f failed ${ktest_scratch_dev[0]} + + if ! wait $fiopid; then + cat "$fioout" + return 1 + fi + + umount /mnt + + mount -t bcachefs "$(join_by : "${ktest_scratch_dev[@]}")" /mnt + umount /mnt + + bcachefs fsck -ny "${ktest_scratch_dev[@]}" + check_counters ${ktest_scratch_dev[0]} +} + main "$@" -- cgit v1.2.3