From 242790f64c8023a38d69545171e2f92d98935852 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 4 Apr 2007 18:06:03 +0100 Subject: [PATCH] * Call dmsetup remove repeatedly instead of messing with udevsettle. udevsettle doesn't always help with the dmsetup remove race. --- debian/changelog | 7 +++++++ xen/cleanup | 2 +- xen/readconfig.in | 8 -------- xen/with-testbed | 9 +++++++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/debian/changelog b/debian/changelog index e1e82ba..c541b88 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +autopkgtest (0.8.1) feisty; urgency=low + + * Call dmsetup remove repeatedly instead of messing with udevsettle. + udevsettle doesn't always help with the dmsetup remove race. + + -- Ian Jackson Wed, 4 Apr 2007 18:04:38 +0100 + autopkgtest (0.8.0) feisty; urgency=low * adt-run: new --instantiate option to allow package installation to be diff --git a/xen/cleanup b/xen/cleanup index de08ded..5c1028c 100755 --- a/xen/cleanup +++ b/xen/cleanup @@ -8,7 +8,7 @@ mkdir -p $adt_play $snap try () { printf "%s\n" "- $*"; "$@" >/dev/null 2>&1 ||:; } n=0 -if xm destroy $adt_xmname 2>/dev/null; then do_udevsettle; fi +try xm destroy $adt_xmname 2>/dev/null try umount $lvm_baselv_namepath try dmsetup remove $adt_devmapper_cowdev rm -f $lvm_fslink_ptr diff --git a/xen/readconfig.in b/xen/readconfig.in index ee10c20..b958293 100644 --- a/xen/readconfig.in +++ b/xen/readconfig.in @@ -13,14 +13,6 @@ fail () { x () { echo "x $*"; "$@"; } -do_udevsettle () { - if type udevsettle >/dev/null 2>&1; then - udevsettle - elif test -x /sbin/udevsettle; then - udevsettle - fi -} - case "$BASH_VERSION" in '') fail 'scripts using adtxenlvm readconfig must be bash scripts' ;; *) ;; diff --git a/xen/with-testbed b/xen/with-testbed index f000195..cd6b946 100755 --- a/xen/with-testbed +++ b/xen/with-testbed @@ -30,8 +30,13 @@ rc=$? set -e xm destroy $adt_xmname -do_udevsettle -dmsetup remove $adt_devmapper_cowdev +sleep=0 +while true; do + if dmsetup remove $adt_devmapper_cowdev; then break; fi + if [ $sleep -gt 3 ]; then fail "dmsetup remove kept failing"; fi + sleep $sleep + sleep=$(( $sleep + 1 )) +done trap '' 0 exit $rc -- 2.30.2