X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/224c87aea0e899e313cb9bb6f62221d8a9fcab7e..d320324f24300fbd1c9c63de4384e0e9047093c1:/host/usr/sbin/invirt-lvm?ds=sidebyside diff --git a/host/usr/sbin/invirt-lvm b/host/usr/sbin/invirt-lvm index 78ce700..a505978 100755 --- a/host/usr/sbin/invirt-lvm +++ b/host/usr/sbin/invirt-lvm @@ -63,15 +63,9 @@ if subcommand == "lvremove": break ensureoff(machine) - # Fork. The child process wipes the LV and then deletes - # it. There's not really anything sane to do with errors (since - # this is running non-interactively), so let's just drop them on - # the floor for now. - if os.fork() != 0: - call(["/bin/dd", "if=/dev/zero", "of=%s" % new_lvpath]) - call(["/sbin/lvchange", "-a", "n", new_lvpath]) - call(["/sbin/lvchange", "-a", "ey", new_lvpath]) - call(["/sbin/lvremove", "--force", new_lvpath]) + # Touch a file corresponding to the new name of the LV; a separate + # daemon will handle wiping and deleting it. + open(os.path.join('/var/lib/invirt-remote/cleanup', new_lvname), 'w') elif subcommand == "lvresize": size = sys.argv[4] ensureoff(machine)