summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-10-13 13:29:56 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2021-10-13 13:29:56 -0400
commit6a71ac2dc7c02c932e98f0d2c47e969766c20023 (patch)
tree0745f94c793428624611bb81bbbe05618d8c487d
parent772ee0686418e3b2a8b4dee9f9f2077e5d2cd37b (diff)
Add test_key_type_error, fix test_replace_replica
Add a new test for verifying that KEY_TYPE_error keys are being created correctly, and fix replace_replica - we need to mark the old device as failed (or remove it) before kicking off rereplicate. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--tests/bcachefs/replication.ktest26
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/bcachefs/replication.ktest b/tests/bcachefs/replication.ktest
index 569b984..f8dff86 100644
--- a/tests/bcachefs/replication.ktest
+++ b/tests/bcachefs/replication.ktest
@@ -630,16 +630,40 @@ test_replicas_gc()
bcachefs fsck /dev/sd[bcdef]
}
-# Fails
test_replace_replica()
{
bcachefs format --errors=panic --replicas=2 /dev/sd[bc]
mount -t bcachefs -o degraded /dev/sdb /mnt
bcachefs device add -f /mnt /dev/sdd
+
+ bcachefs device set-state --force failed /dev/sdc
+
bcachefs data rereplicate /mnt
+
umount /mnt
mount -t bcachefs -o degraded /dev/sdd /mnt
umount /mnt
}
+
+test_key_type_error()
+{
+ bcachefs format --errors=panic --replicas=2 /dev/sd[bc]
+
+ mount -t bcachefs /dev/sdb:/dev/sdc /mnt
+ bcachefs setattr --data_replicas=1 /mnt
+ bcachefs setattr --foreground_target=/dev/sdc /mnt
+
+ dd if=/dev/zero of=/mnt/foo bs=64k count=8 oflag=direct
+
+ umount /mnt
+ mount -t bcachefs -o very_degraded /dev/sdb /mnt
+
+ bcachefs device remove --force /dev/sdc
+
+ # should fail:
+ ! dd if=/mnt/foo of=/dev/null bs=64k count=1 iflag=direct
+
+ umount /mnt
+}