]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Revert "btrfs: simplify"
authorChristian Brauner <christian.brauner@ubuntu.com>
Tue, 15 Aug 2017 16:12:45 +0000 (18:12 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 15 Aug 2017 16:45:01 +0000 (18:45 +0200)
This reverts commit 1aa0201f1446f1387c649467d86e923c9e9ecccf.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/bdev/bdev.c
src/lxc/bdev/lxcbtrfs.c

index 34d8e78d2181279e63d324adeef26021a267dcf7..303821cb4b611f5267369a80aea9de0700f0ed74 100644 (file)
@@ -441,6 +441,11 @@ 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 0003b8b6aca99ee345a0fa2208919801021db3dc..8ab16beab46f6efd24c727be2cc870d4ec6afeb9 100644 (file)
@@ -413,19 +413,8 @@ int btrfs_clonepaths(struct bdev *orig, struct bdev *new, const char *oldname,
 
        if (snap) {
                struct rsync_data_char sdata;
-               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;
-               }
-
+               if (!am_unpriv())
+                       return btrfs_snapshot(orig->dest, new->dest);
                sdata.dest = new->dest;
                sdata.src = orig->dest;
                return userns_exec_1(conf, btrfs_snapshot_wrapper, &sdata,
@@ -441,8 +430,6 @@ 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;
 }