From: John Garry <john.g.garry@oracle.com>
To: linux-block@vger.kernel.org, shinichiro.kawasaki@wdc.com
Cc: John Garry <john.g.garry@oracle.com>
Subject: [PATCH blktests v2 9/9] md/rc: test atomic writes for dm-mirror
Date: Mon, 22 Sep 2025 10:24:33 +0000 [thread overview]
Message-ID: <20250922102433.1586402-10-john.g.garry@oracle.com> (raw)
In-Reply-To: <20250922102433.1586402-1-john.g.garry@oracle.com>
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@oracle.com>
---
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
next prev parent reply other threads:[~2025-09-22 10:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-22 10:24 [PATCH blktests v2 0/9] Further stacked device atomic writes testing John Garry
2025-09-22 10:24 ` [PATCH blktests v2 1/9] common/rc: add _min() John Garry
2025-09-22 10:24 ` [PATCH blktests v2 2/9] nvme: relocate _nvme_requires and _require_nvme_test_img_size John Garry
2025-09-22 10:24 ` [PATCH blktests v2 3/9] nvme: relocate _require_test_dev_is_nvme John Garry
2025-09-22 10:24 ` [PATCH blktests v2 4/9] md/rc: add _md_atomics_test John Garry
2025-09-22 10:24 ` [PATCH blktests v2 5/9] md/002: convert to use _md_atomics_test John Garry
2025-09-22 10:24 ` [PATCH blktests v2 6/9] md/003: add NVMe atomic write tests for stacked devices John Garry
2025-09-25 8:39 ` Shinichiro Kawasaki
2025-09-25 8:46 ` John Garry
2025-09-25 14:12 ` Shinichiro Kawasaki
2025-09-25 14:14 ` John Garry
2025-09-25 15:02 ` John Garry
2025-09-25 23:53 ` Shinichiro Kawasaki
2025-09-22 10:24 ` [PATCH blktests v2 7/9] md/rc: test atomic writes for dm-linear John Garry
2025-09-22 10:24 ` [PATCH blktests v2 8/9] md/rc: test atomic writes for dm-stripe John Garry
2025-09-22 10:24 ` John Garry [this message]
2025-09-25 14:09 ` [PATCH blktests v2 0/9] Further stacked device atomic writes testing Shinichiro Kawasaki
2025-09-25 14:13 ` John Garry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250922102433.1586402-10-john.g.garry@oracle.com \
--to=john.g.garry@oracle.com \
--cc=linux-block@vger.kernel.org \
--cc=shinichiro.kawasaki@wdc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox