From: Christian Brauner Date: Sun, 16 Jul 2017 20:49:45 +0000 (+0200) Subject: btrfs: simplify X-Git-Tag: lxc-2.1.0~32^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45dd65e79620a838bee6a3b5ab88315a10e2081a;p=thirdparty%2Flxc.git btrfs: simplify Signed-off-by: Christian Brauner --- diff --git a/src/lxc/bdev/bdev.c b/src/lxc/bdev/bdev.c index 9201ca084..943fb69bf 100644 --- a/src/lxc/bdev/bdev.c +++ b/src/lxc/bdev/bdev.c @@ -441,11 +441,6 @@ struct bdev *bdev_copy(struct lxc_container *c0, const char *cname, goto err; } - if (mkdir_p(new->dest, 0755) < 0) { - ERROR("Failed to create directory \"%s\"", new->dest); - goto err; - } - arg.src = orig->dest; arg.dest = new->dest; if (am_unpriv()) diff --git a/src/lxc/bdev/lxcbtrfs.c b/src/lxc/bdev/lxcbtrfs.c index 02517d8ea..b8a317afb 100644 --- a/src/lxc/bdev/lxcbtrfs.c +++ b/src/lxc/bdev/lxcbtrfs.c @@ -416,8 +416,19 @@ int btrfs_clonepaths(struct bdev *orig, struct bdev *new, const char *oldname, if (snap) { struct rsync_data_char sdata; - if (!am_unpriv()) - return btrfs_snapshot(orig->dest, new->dest); + if (!am_unpriv()) { + ret = btrfs_snapshot(orig->dest, new->dest); + if (ret < 0) { + SYSERROR("Failed to create btrfs snapshot " + "\"%s\" from \"%s\"", + new->dest, orig->dest); + return -1; + } + TRACE("Created btrfs snapshot \"%s\" from \"%s\"", + new->dest, orig->dest); + return 0; + } + sdata.dest = new->dest; sdata.src = orig->dest; return userns_exec_1(conf, btrfs_snapshot_wrapper, &sdata, @@ -433,6 +444,8 @@ int btrfs_clonepaths(struct bdev *orig, struct bdev *new, const char *oldname, ret = btrfs_subvolume_create(new->dest); if (ret < 0) SYSERROR("Failed to create btrfs subvolume \"%s\"", new->dest); + else + TRACE("Created btrfs subvolume \"%s\"", new->dest); return ret; }