linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing
@ 2019-12-18  1:19 Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:19 UTC (permalink / raw)
  Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu

From: Marcos Paulo de Souza <mpdesouza@suse.com>

Hi there,

This is a v2 of the patches which basically changes the first patch and adds
Reviewed-by to other reviewed patches. The change in the first patch was to
remove the SUDO_HELPER variable from check_dm_target_support, since nowadays
everyone executes these tests using root.

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 (4):
  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: Do not fail is dmsetup is missing

 tests/common                                   | 18 ++++++++++++++++++
 .../005-long-device-name-for-ssd/test.sh       |  2 +-
 .../test.sh                                    |  2 +-
 3 files changed, 20 insertions(+), 2 deletions(-)

-- 
2.23.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper
  2019-12-18  1:19 [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
@ 2019-12-18  1:19 ` Marcos Paulo de Souza
  2019-12-18  1:46   ` Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 2/4] tests: mkfs: 017: Use " Marcos Paulo de Souza
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:19 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>
---
 Changes from v1:
 Removed the $SUDO_HELPER variable when executing modprobe and dmsetup (Qu
 Wenruo)

 tests/common | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/common b/tests/common
index ca098444..20ad7fd9 100644
--- a/tests/common
+++ b/tests/common
@@ -322,6 +322,19 @@ check_global_prereq()
 	fi
 }
 
+# check if the targets passed as arguments are available, and if not just skip
+# the test
+check_dm_target_support()
+{
+	for target in "$@"; do
+		modprobe dm-$target >/dev/null 2>&1
+		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.23.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [btrfs-progs PATCHv2 2/4] tests: mkfs: 017: Use check_dm_target_support helper
  2019-12-18  1:19 [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
@ 2019-12-18  1:19 ` Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 3/4] tests: mkfs: 005: " Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 4/4] tests: Do not fail is dmsetup is missing Marcos Paulo de Souza
  3 siblings, 0 replies; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:19 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.23.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [btrfs-progs PATCHv2 3/4] tests: mkfs: 005: Use check_dm_target_support helper
  2019-12-18  1:19 [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 2/4] tests: mkfs: 017: Use " Marcos Paulo de Souza
@ 2019-12-18  1:19 ` Marcos Paulo de Souza
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 4/4] tests: Do not fail is dmsetup is missing Marcos Paulo de Souza
  3 siblings, 0 replies; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:19 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.23.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [btrfs-progs PATCHv2 4/4] tests: Do not fail is dmsetup is missing
  2019-12-18  1:19 [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
                   ` (2 preceding siblings ...)
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 3/4] tests: mkfs: 005: " Marcos Paulo de Souza
@ 2019-12-18  1:19 ` Marcos Paulo de Souza
  3 siblings, 0 replies; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:19 UTC (permalink / raw)
  Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu

From: Marcos Paulo de Souza <mpdesouza@suse.com>

Move the check of dmsetup to check_dm_target_support, and adapt the only
two places checking if dmsetup is present in the system. Now we skip the
test if dmsetup isn't available, instead of marking the test as failed.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
 tests/common                                             | 9 +++++++--
 tests/mkfs-tests/005-long-device-name-for-ssd/test.sh    | 1 -
 .../017-small-backing-size-thin-provision-device/test.sh | 1 -
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tests/common b/tests/common
index 20ad7fd9..5814ae6f 100644
--- a/tests/common
+++ b/tests/common
@@ -322,10 +322,15 @@ check_global_prereq()
 	fi
 }
 
-# check if the targets passed as arguments are available, and if not just skip
-# the test
+# check if dmsetup and targets passed as arguments are available, and skip the
+# test if they aren't.
 check_dm_target_support()
 {
+	which dmsetup &> /dev/null
+	if [ $? -ne 0 ]; then
+		_not_run "This test requires dmsetup tool.";
+	fi
+
 	for target in "$@"; do
 		modprobe dm-$target >/dev/null 2>&1
 		dmsetup targets 2>&1 | grep -q ^$target
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 329deaf2..2df88db4 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
@@ -4,7 +4,6 @@
 source "$TEST_TOP/common"
 
 check_prereq mkfs.btrfs
-check_global_prereq dmsetup
 check_dm_target_support linear
 
 setup_root_helper
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 91851945..83f34ecc 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
@@ -6,7 +6,6 @@ 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
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper
  2019-12-18  1:19 ` [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
@ 2019-12-18  1:46   ` Marcos Paulo de Souza
  0 siblings, 0 replies; 6+ messages in thread
From: Marcos Paulo de Souza @ 2019-12-18  1:46 UTC (permalink / raw)
  To: Marcos Paulo de Souza; +Cc: dsterba, linux-btrfs, Marcos Paulo de Souza, wqu

Forget this patch, I understood it wrong. I will add setup_root_helper
before the $SUDO_HELPER from v1 in a different patch. 

On Tue, 2019-12-17 at 22:19 -0300, 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>
> ---
>  Changes from v1:
>  Removed the $SUDO_HELPER variable when executing modprobe and
> dmsetup (Qu
>  Wenruo)
> 
>  tests/common | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/tests/common b/tests/common
> index ca098444..20ad7fd9 100644
> --- a/tests/common
> +++ b/tests/common
> @@ -322,6 +322,19 @@ check_global_prereq()
>  	fi
>  }
>  
> +# check if the targets passed as arguments are available, and if not
> just skip
> +# the test
> +check_dm_target_support()
> +{
> +	for target in "$@"; do
> +		modprobe dm-$target >/dev/null 2>&1
> +		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] 6+ messages in thread

end of thread, other threads:[~2019-12-18  1:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-18  1:19 [btrfs-progs PATCHv2 0/4] tests: do not fail if dm-thin is missing Marcos Paulo de Souza
2019-12-18  1:19 ` [btrfs-progs PATCHv2 1/4] tests: common: Add check_dm_target_support helper Marcos Paulo de Souza
2019-12-18  1:46   ` Marcos Paulo de Souza
2019-12-18  1:19 ` [btrfs-progs PATCHv2 2/4] tests: mkfs: 017: Use " Marcos Paulo de Souza
2019-12-18  1:19 ` [btrfs-progs PATCHv2 3/4] tests: mkfs: 005: " Marcos Paulo de Souza
2019-12-18  1:19 ` [btrfs-progs PATCHv2 4/4] tests: Do not fail is dmsetup is missing Marcos Paulo de Souza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).