]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
btrfs: simplify
authorChristian Brauner <christian.brauner@ubuntu.com>
Sun, 16 Jul 2017 20:49:45 +0000 (22:49 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Mon, 31 Jul 2017 21:34:14 +0000 (23:34 +0200)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/bdev/bdev.c
src/lxc/bdev/lxcbtrfs.c

index 9201ca0843a2581be7f887d713f7bed2a5ace3d2..943fb69bf70fea01de7b1d07812fde223fdbafa0 100644 (file)
@@ -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())
index 02517d8ea30bcbddb13656b1e16e7f0ea8a3b857..b8a317afb5adb30819e6b2d68bd7f12ffbf8e9d7 100644 (file)
@@ -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;
 }