Raise the required device size to 16MB, which would be enough to create a 2M mirror array. Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx> --- tests/md/002 | 2 +- tests/md/002.out | 13 +++++++++++++ tests/md/003 | 2 +- tests/md/rc | 17 +++++++++++++---- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/tests/md/002 b/tests/md/002 index b0cbeb9..1af4bfb 100755 --- a/tests/md/002 +++ b/tests/md/002 @@ -23,7 +23,7 @@ test() { num_tgts=1 add_host=4 per_host_store=true - dev_size_mb=5 + dev_size_mb=16 ) echo "Running md_atomics_test" diff --git a/tests/md/002.out b/tests/md/002.out index cce1b1c..c6628bf 100644 --- a/tests/md/002.out +++ b/tests/md/002.out @@ -181,4 +181,17 @@ TEST 9 dm-stripe step 4 - perform a pwritev2 with size of sysfs_atomic_unit_max_ TEST 10 dm-stripe step 4 - perform a pwritev2 with size of sysfs_atomic_unit_min_bytes with RWF_ATOMIC flag - pwritev2 should fail - pass pwrite: Invalid argument TEST 11 dm-stripe step 4 - perform a pwritev2 with a size of sysfs_atomic_write_unit_max_bytes - LBS bytes with RWF_ATOMIC flag - pwritev2 should fail - pass +TEST 1 dm-mirror step 1 - Verify md sysfs atomic attributes matches - pass +TEST 2 dm-mirror step 1 - Verify sysfs atomic attributes - pass +TEST 3 dm-mirror step 1 - Verify md sysfs_atomic_write_max is equal to expected_atomic_write_max - pass +TEST 4 dm-mirror step 1 - Verify sysfs atomic_write_unit_max_bytes = expected_atomic_write_unit_max - pass +TEST 5 dm-mirror step 1 - Verify sysfs atomic_write_unit_boundary_bytes = expected atomic_write_unit_boundary_bytes - pass +TEST 6 dm-mirror step 1 - Verify statx stx_atomic_write_unit_min - pass +TEST 7 dm-mirror step 1 - Verify statx stx_atomic_write_unit_max - pass +TEST 8 dm-mirror step 1 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes with RWF_ATOMIC flag - pwritev2 should fail - pass +pwrite: Invalid argument +TEST 9 dm-mirror step 1 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes + LBS bytes with RWF_ATOMIC flag - pwritev2 should not be succesful - pass +TEST 10 dm-mirror step 1 - perform a pwritev2 with size of sysfs_atomic_unit_min_bytes with RWF_ATOMIC flag - pwritev2 should fail - pass +pwrite: Invalid argument +TEST 11 dm-mirror step 1 - perform a pwritev2 with a size of sysfs_atomic_write_unit_max_bytes - LBS bytes with RWF_ATOMIC flag - pwritev2 should fail - pass Test complete diff --git a/tests/md/003 b/tests/md/003 index b9b2075..83746ae 100755 --- a/tests/md/003 +++ b/tests/md/003 @@ -18,7 +18,7 @@ requires() { device_requires() { _require_test_dev_is_nvme - _require_test_dev_size 5m + _require_test_dev_size 16m } test_device_array() { diff --git a/tests/md/rc b/tests/md/rc index 9f0472e..ba9013d 100644 --- a/tests/md/rc +++ b/tests/md/rc @@ -20,6 +20,7 @@ _stacked_atomic_test_requires() { _have_driver raid1 _have_driver raid10 _have_driver dm-mod + _have_driver dm-mirror _have_program vgcreate _have_program lvm } @@ -157,8 +158,7 @@ _md_atomics_test() { raw_atomic_write_boundary=0; fi - - for personality in raid0 raid1 raid10 dm-linear dm-stripe; do + for personality in raid0 raid1 raid10 dm-linear dm-stripe dm-mirror; do local step_limit if [ "$personality" = raid0 ] || [ "$personality" = raid10 ] || \ [ "$personality" = dm-stripe ] @@ -227,7 +227,8 @@ _md_atomics_test() { md_dev=$(readlink /dev/md/blktests_md | sed 's|\.\./||') fi - if [ "$personality" = dm-linear ] || [ "$personality" = dm-stripe ] + if [ "$personality" = dm-linear ] || [ "$personality" = dm-stripe ] || \ + [ "$personality" = dm-mirror ] then for i in "${MD_DEVICES[@]}"; do pvremove --force /dev/"$i" 2> /dev/null 1>&2 @@ -266,6 +267,13 @@ _md_atomics_test() { md_dev=$(readlink /dev/mapper/blktests_vg00-blktests_lv | sed 's|\.\./||') fi + if [ "$personality" = dm-mirror ] + then + echo y | lvm lvcreate --type mirror -m3 -L 2M -n blktests_lv blktests_vg00 2> /dev/null 1>&2 + + md_dev=$(readlink /dev/mapper/blktests_vg00-blktests_lv | sed 's|\.\./||') + fi + md_dev_sysfs="/sys/devices/virtual/block/${md_dev}" sysfs_logical_block_size=$(< "${md_dev_sysfs}"/queue/logical_block_size) @@ -437,7 +445,8 @@ _md_atomics_test() { done fi - if [ "$personality" = dm-linear ] || [ "$personality" = dm-stripe ] + if [ "$personality" = dm-linear ] || [ "$personality" = dm-stripe ] || \ + [ "$personality" = dm-mirror ] then lvremove --force /dev/mapper/blktests_vg00-blktests_lv 2> /dev/null 1>&2 vgremove --force blktests_vg00 2> /dev/null 1>&2 -- 2.43.5