mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
btrfs/003: enable test with virtio_blk devices in VM
For a long time this test has been failing on all kinds of VM configuration, which are using virtio_blk devices. This is due to the fact that scsi devices are deletable and virtio_blk are not. However, this only prevents device replace case to run and has no negative effect on the other useful test cases. Re-enable btrfs/003 to run by making _require_deletable_scratch_dev_pool private to the test case and modifying it to return success (0) or failure (1) if devices are not deletable. Further modify the replace test case to check the return value of this function and skip it if devices are not deletable. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
ed8463509b
commit
0cd952cb42
@@ -2961,18 +2961,6 @@ _require_scratch_dev_pool_equal_size()
|
||||
done
|
||||
}
|
||||
|
||||
# We will check if the device is deletable
|
||||
_require_deletable_scratch_dev_pool()
|
||||
{
|
||||
local i
|
||||
local x
|
||||
for i in $SCRATCH_DEV_POOL; do
|
||||
x=`echo $i | cut -d"/" -f 3`
|
||||
if [ ! -f /sys/class/block/${x}/device/delete ]; then
|
||||
_notrun "$i is a device which is not deletable"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check that fio is present, and it is able to execute given jobfile
|
||||
_require_fio()
|
||||
|
||||
+18
-1
@@ -17,6 +17,21 @@ dev_removed=0
|
||||
removed_dev_htl=""
|
||||
trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||
|
||||
# Check if all scratch dev pools are deletable
|
||||
deletable_scratch_dev_pool()
|
||||
{
|
||||
local i
|
||||
local x
|
||||
for i in $SCRATCH_DEV_POOL; do
|
||||
x=`echo $i | cut -d"/" -f 3`
|
||||
if [ ! -f /sys/class/block/${x}/device/delete ]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
@@ -35,7 +50,6 @@ _supported_fs btrfs
|
||||
_supported_os Linux
|
||||
_require_scratch
|
||||
_require_scratch_dev_pool 4
|
||||
_require_deletable_scratch_dev_pool
|
||||
_require_command "$WIPEFS_PROG" wipefs
|
||||
|
||||
rm -f $seqres.full
|
||||
@@ -111,6 +125,9 @@ _test_replace()
|
||||
local ds
|
||||
local d
|
||||
|
||||
# If scratch devs are not deletable skip this test
|
||||
if ! deletable_scratch_dev_pool; then return 0; fi
|
||||
|
||||
# exclude the first and the last disk in the disk pool
|
||||
n=$(($n-1))
|
||||
ds=${devs[@]:1:$(($n-1))}
|
||||
|
||||
Reference in New Issue
Block a user