[REPOST,blktests,v2,6/9] nvme-rc: Add minimal test image size requirement
Commit Message
Some tests need a minimal test image size to work correctly. Thus add a
helper to check the size and update these tests accordingly.
The image minimum is 4M because some of the test have hard coded values.
All tests which use the xfs fio verification job have a minimum
requirement of 350M impossed by the xfs filesystem.
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
tests/nvme/012 | 1 +
tests/nvme/013 | 1 +
tests/nvme/029 | 1 -
tests/nvme/045 | 2 +-
tests/nvme/rc | 15 +++++++++++++++
5 files changed, 18 insertions(+), 2 deletions(-)
Comments
On 4/21/23 08:05, Daniel Wagner wrote:
> Some tests need a minimal test image size to work correctly. Thus add a
> helper to check the size and update these tests accordingly.
>
> The image minimum is 4M because some of the test have hard coded values.
> All tests which use the xfs fio verification job have a minimum
> requirement of 350M impossed by the xfs filesystem.
>
> Signed-off-by: Daniel Wagner <dwagner@suse.de>
> ---
> tests/nvme/012 | 1 +
> tests/nvme/013 | 1 +
> tests/nvme/029 | 1 -
> tests/nvme/045 | 2 +-
> tests/nvme/rc | 15 +++++++++++++++
> 5 files changed, 18 insertions(+), 2 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Cheers,
Hannes
@@ -16,6 +16,7 @@ requires() {
_have_fio
_have_loop
_require_nvme_trtype_is_fabrics
+ _require_nvme_test_img_size 350m
}
test() {
@@ -15,6 +15,7 @@ requires() {
_have_xfs
_have_fio
_require_nvme_trtype_is_fabrics
+ _require_nvme_test_img_size 350m
}
test() {
@@ -14,7 +14,6 @@ requires() {
_nvme_requires
_have_loop
_require_nvme_trtype_is_fabrics
- _require_test_dev_size 1M
}
test_user_io()
@@ -120,7 +120,7 @@ test() {
nvmedev=$(_find_nvme_dev "${subsys_name}")
- _run_fio_rand_io --size=8m --filename="/dev/${nvmedev}n1"
+ _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1"
_nvme_disconnect_subsys "${subsys_name}"
@@ -21,6 +21,7 @@ nvme_img_size=${nvme_img_size:-"350M"}
_nvme_requires() {
_have_program nvme
+ _require_nvme_test_img_size 4m
case ${nvme_trtype} in
loop)
_have_driver nvme-loop
@@ -94,6 +95,20 @@ _require_test_dev_is_nvme() {
return 0
}
+_require_nvme_test_img_size() {
+ local require_sz_mb
+ local nvme_img_size_mb
+
+ require_sz_mb="$(convert_to_mb "$1")"
+ nvme_img_size_mb="$(convert_to_mb "${nvme_img_size}")"
+
+ if (( "${nvme_img_size_mb}" < "$require_sz_mb" )); then
+ SKIP_REASONS+=("nvme_img_size must be at least ${require_sz_mb}m")
+ return 1
+ fi
+ return 0
+}
+
_require_nvme_trtype() {
local trtype
for trtype in "$@"; do