. /env
if [ "$TEST_FSTYPE" = "zfs" ]; then
- zpool create dracut /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
+ zpool create dracut mirror /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
zfs create dracut/root
elif [ "$TEST_FSTYPE" = "btrfs" ]; then
- mkfs.btrfs -q -draid0 -mraid0 -L root /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
+ mkfs.btrfs -q -draid1 -mraid1 -L root /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
udevadm settle
btrfs device scan
else
# storage layers (if available)
# mdadm (optional) --> crypt (optional) --> lvm --> TEST_FSTYPE (e.g. ext4)
if ! grep -qF 'rd.md=0' /proc/cmdline && command -v mdadm > /dev/null; then
- mdadm --create /dev/md0 --run --auto=yes --level=0 --raid-devices=2 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
+ mdadm --create /dev/md0 --run --auto=yes --level=1 --metadata=0.90 --raid-devices=2 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[12]
# wait for the array to finish initializing, otherwise this sometimes fails randomly.
mdadm -W /dev/md0 || :
fi
declare -a disk_args=()
declare -i disk_index=0
qemu_add_drive disk_index disk_args "$TESTDIR"/marker.img marker
+
qemu_add_drive disk_index disk_args "$TESTDIR/${disk}-1.img" disk1
- qemu_add_drive disk_index disk_args "$TESTDIR/${disk}-2.img" disk2
+
+ if ! grep -qF 'degraded' "$test_name"; then
+ # only add disk2 if RAID is NOT degraded
+ qemu_add_drive disk_index disk_args "$TESTDIR/${disk}-2.img" disk2
+ fi
test_marker_reset
"$testdir"/run-qemu \
# ignore crypttab with rd.luks.crypttab=0
if [ -n "$HAVE_RAID" ]; then
client_run "raid" "raid" "rd.luks.crypttab=0" || return 1
+ client_run "degraded raid" "raid" "rd.luks.crypttab=0" || return 1
fi
# for encrypted test run - use raid-crypt.img drives instead of raid.img drives
if [ -n "$HAVE_CRYPT" ]; then
- client_run "raid-crypt" "raid-crypt" " " || return 1
+ client_run "raid crypt" "raid-crypt" " " || return 1
+ client_run "degraded raid crypt" "raid-crypt" " " || return 1
fi
}