Commit 6a04409a by Christian Brauner Committed by Stéphane Graber

lxczfs: small fixes

- We expect destroy to fail in zfs_clone() so try to silence it so users are not irritated when they create zfs snapshots. - Add -r recursive to zfs_destroy(). This code is only hit when a) the container has no snapshots or b) the user calls destroy with snapshots. So this should be safe. Without -r snapshots will remain. Signed-off-by: 's avatarChristian Brauner <christian.brauner@canonical.com>
parent 000d60ea
...@@ -660,6 +660,9 @@ static int zfs_clone(const char *opath, const char *npath, const char *oname, ...@@ -660,6 +660,9 @@ static int zfs_clone(const char *opath, const char *npath, const char *oname,
if ((pid = fork()) < 0) if ((pid = fork()) < 0)
return -1; return -1;
if (!pid) { if (!pid) {
int dev0 = open("/dev/null", O_WRONLY);
if (dev0 >= 0)
dup2(dev0, STDERR_FILENO);
execlp("zfs", "zfs", "destroy", path1, NULL); execlp("zfs", "zfs", "destroy", path1, NULL);
exit(1); exit(1);
} }
...@@ -740,7 +743,7 @@ static int zfs_destroy(struct bdev *orig) ...@@ -740,7 +743,7 @@ static int zfs_destroy(struct bdev *orig)
return -1; return -1;
*p = '\0'; *p = '\0';
execlp("zfs", "zfs", "destroy", output, NULL); execlp("zfs", "zfs", "destroy", "-r", output, NULL);
exit(1); exit(1);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment