From 6a04409aa7f1d5507e7e20d2ccb95bb5bafe765a Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Tue, 13 Sep 2016 17:18:23 +0200 Subject: [PATCH] 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: Christian Brauner --- src/lxc/bdev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lxc/bdev.c b/src/lxc/bdev.c index cbfb1eccf..529b92b4f 100644 --- a/src/lxc/bdev.c +++ b/src/lxc/bdev.c @@ -660,6 +660,9 @@ static int zfs_clone(const char *opath, const char *npath, const char *oname, if ((pid = fork()) < 0) return -1; if (!pid) { + int dev0 = open("/dev/null", O_WRONLY); + if (dev0 >= 0) + dup2(dev0, STDERR_FILENO); execlp("zfs", "zfs", "destroy", path1, NULL); exit(1); } @@ -740,7 +743,7 @@ static int zfs_destroy(struct bdev *orig) return -1; *p = '\0'; - execlp("zfs", "zfs", "destroy", output, NULL); + execlp("zfs", "zfs", "destroy", "-r", output, NULL); exit(1); } -- 2.47.2