X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/0ff680d9b30ea7bc90a271045fb215abab75e83e..ab1973b52cb6de053cca60b50d058907f88e246b:/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)