All of lore.kernel.org
 help / color / mirror / Atom feed
* master - tests: aux better handle invalid table
@ 2020-09-18 15:31 Zdenek Kabelac
  0 siblings, 0 replies; only message in thread
From: Zdenek Kabelac @ 2020-09-18 15:31 UTC (permalink / raw)
  To: lvm-devel

Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b77595ac8b69fc699c35577e6dbe1322f8c915a0
Commit:        b77595ac8b69fc699c35577e6dbe1322f8c915a0
Parent:        a4137412bf64843578fd116f443d6586a0cffbed
Author:        Zdenek Kabelac <zkabelac@redhat.com>
AuthorDate:    Fri Sep 18 14:23:20 2020 +0200
Committer:     Zdenek Kabelac <zkabelac@redhat.com>
CommitterDate: Fri Sep 18 14:23:20 2020 +0200

tests: aux better handle invalid table

In cases where internal functions like zero_dev, delay_dev pass-in
invalid parameter so resulting table can't work, resume at least
previous table line before failing out - so the cleaning process
later on is not stuck waiting on a suspended device.
---
 test/lib/aux.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 364b80a5c..a17bf846c 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -1078,7 +1078,13 @@ restore_from_devtable() {
 	for dev in "$@"; do
 		local name=${dev##*/}
 		dmsetup load "$name" "$name.devtable"
-		dmsetup resume "$name"
+		if not dmsetup resume "$name" ; then
+			dmsetup clear $name
+			dmsetup resume $name
+			finish_udev_transaction
+			echo "Device $name has unusable table \"$(cat $name.devtable)\""
+			return 1
+		fi
 	done
 	finish_udev_transaction
 }



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-18 15:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-18 15:31 master - tests: aux better handle invalid table Zdenek Kabelac

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.