X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/0ff680d9b30ea7bc90a271045fb215abab75e83e..d320324f24300fbd1c9c63de4384e0e9047093c1:/host/usr/sbin/invirt-lvm diff --git a/host/usr/sbin/invirt-lvm b/host/usr/sbin/invirt-lvm index bafcec7..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(["/usr/bin/ionice", "-c", "3", "/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)