* [btrfs-progs PATCHv3 0/3] tests: do not fail if dm-thin is missing
@ 2020-01-03 2:12 Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Marcos Paulo de Souza @ 2020-01-03 2:12 UTC (permalink / raw
Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu
From: Marcos Paulo de Souza <mpdesouza@suse.com>
This is the third version, which basically removes the last patch, as suggested
by David, and reworks the first one, by keeping the $SUDO_HELPER call and adding
the setup_root_helper function call before calling $SUDO_HELPER. The tests 005
and 017 are now skipped when triggered in a kernel without dm-thin.
Please review.
Original message:
these patchset is trying to fix the issue 192[1] by checking if dm-thin exists,
and if it's not available, skip the test. In the last patch, the same is done
for dmsetup. Feel free to ignore the last patch if you think we should stop the
tests if dmsetup isn't available.
Thanks!
[1]: https://github.com/kdave/btrfs-progs/issues/192
Marcos Paulo de Souza (3):
tests: common: Add check_dm_target_support helper
tests: mkfs: 017: Use check_dm_target_support helper
tests: mkfs: 005: Use check_dm_target_support helper
tests/common | 15 +++++++++++++++
.../005-long-device-name-for-ssd/test.sh | 1 +
.../test.sh | 1 +
3 files changed, 17 insertions(+)
--
2.24.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper
2020-01-03 2:12 [btrfs-progs PATCHv3 0/3] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
@ 2020-01-03 2:12 ` Marcos Paulo de Souza
2020-01-03 5:11 ` Qu WenRuo
2020-01-03 2:12 ` [btrfs-progs PATCHv3 2/3] tests: mkfs: 017: Use " Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 3/3] tests: mkfs: 005: " Marcos Paulo de Souza
2 siblings, 1 reply; 5+ messages in thread
From: Marcos Paulo de Souza @ 2020-01-03 2:12 UTC (permalink / raw
Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu
From: Marcos Paulo de Souza <mpdesouza@suse.com>
This function will be used later to test if dm-thin is supported.
Inspired by fstests.
Suggested-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
tests/common | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/tests/common b/tests/common
index ca098444..3ea8c260 100644
--- a/tests/common
+++ b/tests/common
@@ -322,6 +322,21 @@ check_global_prereq()
fi
}
+# check if the targets passed as arguments are available, and if not just skip
+# the test
+check_dm_target_support()
+{
+ setup_root_helper
+
+ for target in "$@"; do
+ $SUDO_HELPER modprobe dm-$target >/dev/null 2>&1
+ $SUDO_HELPER dmsetup targets 2>&1 | grep -q ^$target
+ if [ $? -ne 0 ]; then
+ _not_run "This test requires dm $target support."
+ fi
+ done
+}
+
check_image()
{
local image
--
2.24.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [btrfs-progs PATCHv3 2/3] tests: mkfs: 017: Use check_dm_target_support helper
2020-01-03 2:12 [btrfs-progs PATCHv3 0/3] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
@ 2020-01-03 2:12 ` Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 3/3] tests: mkfs: 005: " Marcos Paulo de Souza
2 siblings, 0 replies; 5+ messages in thread
From: Marcos Paulo de Souza @ 2020-01-03 2:12 UTC (permalink / raw
Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu
From: Marcos Paulo de Souza <mpdesouza@suse.com>
If dm-thin or dm-linear are not supported, let's skip the test altogether
instead of throwing an error.
Issue: #192
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
.../017-small-backing-size-thin-provision-device/test.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh b/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh
index 32640ce5..91851945 100755
--- a/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh
+++ b/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh
@@ -7,6 +7,7 @@ source "$TEST_TOP/common"
check_prereq mkfs.btrfs
check_global_prereq udevadm
check_global_prereq dmsetup
+check_dm_target_support linear thin
setup_root_helper
prepare_test_dev
--
2.24.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [btrfs-progs PATCHv3 3/3] tests: mkfs: 005: Use check_dm_target_support helper
2020-01-03 2:12 [btrfs-progs PATCHv3 0/3] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 2/3] tests: mkfs: 017: Use " Marcos Paulo de Souza
@ 2020-01-03 2:12 ` Marcos Paulo de Souza
2 siblings, 0 replies; 5+ messages in thread
From: Marcos Paulo de Souza @ 2020-01-03 2:12 UTC (permalink / raw
Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu
From: Marcos Paulo de Souza <mpdesouza@suse.com>
This way we ensure the linear target is available and skip the test.
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
tests/mkfs-tests/005-long-device-name-for-ssd/test.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh
index e7a1ac45..329deaf2 100755
--- a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh
+++ b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh
@@ -5,6 +5,7 @@ source "$TEST_TOP/common"
check_prereq mkfs.btrfs
check_global_prereq dmsetup
+check_dm_target_support linear
setup_root_helper
prepare_test_dev
--
2.24.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper
2020-01-03 2:12 ` [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
@ 2020-01-03 5:11 ` Qu WenRuo
0 siblings, 0 replies; 5+ messages in thread
From: Qu WenRuo @ 2020-01-03 5:11 UTC (permalink / raw
To: Marcos Paulo de Souza
Cc: David Sterba, linux-btrfs@vger.kernel.org, Marcos Paulo de Souza
On 2020/1/3 上午10:12, Marcos Paulo de Souza wrote:
> From: Marcos Paulo de Souza <mpdesouza@suse.com>
>
> This function will be used later to test if dm-thin is supported.
> Inspired by fstests.
>
> Suggested-by: Qu Wenruo <wqu@suse.com>
> Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Thanks,
Qu
> ---
> tests/common | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/tests/common b/tests/common
> index ca098444..3ea8c260 100644
> --- a/tests/common
> +++ b/tests/common
> @@ -322,6 +322,21 @@ check_global_prereq()
> fi
> }
>
> +# check if the targets passed as arguments are available, and if not just skip
> +# the test
> +check_dm_target_support()
> +{
> + setup_root_helper
> +
> + for target in "$@"; do
> + $SUDO_HELPER modprobe dm-$target >/dev/null 2>&1
> + $SUDO_HELPER dmsetup targets 2>&1 | grep -q ^$target
> + if [ $? -ne 0 ]; then
> + _not_run "This test requires dm $target support."
> + fi
> + done
> +}
> +
> check_image()
> {
> local image
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-01-03 5:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-03 2:12 [btrfs-progs PATCHv3 0/3] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 1/3] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
2020-01-03 5:11 ` Qu WenRuo
2020-01-03 2:12 ` [btrfs-progs PATCHv3 2/3] tests: mkfs: 017: Use " Marcos Paulo de Souza
2020-01-03 2:12 ` [btrfs-progs PATCHv3 3/3] tests: mkfs: 005: " Marcos Paulo de Souza
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.