X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/b85994069b91eeae234d8135d4a9ec1d8c5c3a3d..f864eadcc01ce5683683b6b57c25785ace7a848c:/host/usr/sbin/invirt-lvm?ds=inline diff --git a/host/usr/sbin/invirt-lvm b/host/usr/sbin/invirt-lvm index 22a7805..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)