From b25eeefc7f95280fa6f3b0d2f7b76a49d1fe0d48 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Sun, 5 Oct 2008 18:01:54 -0400 Subject: [PATCH] Explicitly lock an LV before trying to delete it svn path=/trunk/packages/sipb-xen-remctl-auto/; revision=1066 --- debian/changelog | 6 ++++++ files/usr/sbin/sipb-xen-lvm | 14 +++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 27c6166..ffe56b6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +sipb-xen-remctl-auto (1.1) unstable; urgency=low + + * Explicitly lock a volume before deleting it + + -- Evan Broder Sun, 05 Oct 2008 18:01:34 -0400 + sipb-xen-remctl-auto (1.0.21) unstable; urgency=low * start inetd too in init script diff --git a/files/usr/sbin/sipb-xen-lvm b/files/usr/sbin/sipb-xen-lvm index f42804e..00766f6 100755 --- a/files/usr/sbin/sipb-xen-lvm +++ b/files/usr/sbin/sipb-xen-lvm @@ -41,11 +41,19 @@ else: lvname = prefix + machine + "_" + disk lvpath = "/dev/" + vg + "/" + lvname if subcommand == "lvremove": + def error(): + print >>sys.stderr, "Error removing LV %s\n" % lvname + sys.exit(1) + rv = call(["/sbin/lvchange", "-a", "n", lvpath]) + if rv != 0: + error() + rv = call(["/sbin/lvchange", "-a", "ey", lvpath]) + if rv != 0: + error() rv = call(["/sbin/lvremove", "--force", lvpath]) - ensureoff(machine) if rv != 0: - print >>sys.stderr, "Error removing LV %s\n" %(lvname,) - sys.exit(1) + error() + ensureoff(machine) elif subcommand == "lvresize": size = sys.argv[4] ensureoff(machine) -- 1.7.9.5