From: Christian Brauner Date: Thu, 14 Jan 2016 20:39:05 +0000 (+0100) Subject: check for btrfs fs in should_default_to_snapshot X-Git-Tag: lxc-2.0.0.beta2~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a09badcf580aed1ef9e3b502730f34f387fa21c;p=thirdparty%2Flxc.git check for btrfs fs in should_default_to_snapshot Check if we're really on a btrfs filesystem before we call btrfs_same_fs(). Otherwise we will report misleading errors although everything went fine. Signed-off-by: Christian Brauner Acked-by: Serge E. Hallyn --- diff --git a/src/lxc/bdev/lxcbtrfs.c b/src/lxc/bdev/lxcbtrfs.c index 2db7c87cb..80b22fd85 100644 --- a/src/lxc/bdev/lxcbtrfs.c +++ b/src/lxc/bdev/lxcbtrfs.c @@ -40,7 +40,7 @@ #include "lxcrsync.h" #include "utils.h" -lxc_log_define(btrfs, lxc); +lxc_log_define(lxcbtrfs, lxc); /* defined in lxccontainer.c: needs to become common helper */ extern char *dir_new_path(char *src, const char *oldname, const char *name, diff --git a/src/lxc/bdev/lxcoverlay.c b/src/lxc/bdev/lxcoverlay.c index d06d24f51..4d30f3ce0 100644 --- a/src/lxc/bdev/lxcoverlay.c +++ b/src/lxc/bdev/lxcoverlay.c @@ -36,7 +36,7 @@ #include "lxcrsync.h" #include "utils.h" -lxc_log_define(overlay, lxc); +lxc_log_define(lxcoverlay, lxc); static char *ovl_name; diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 490a59ddd..7f2a39020 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -2833,6 +2833,10 @@ bool should_default_to_snapshot(struct lxc_container *c0, snprintf(p0, l0, "%s/%s", c0->config_path, c0->name); snprintf(p1, l1, "%s/%s", c1->config_path, c1->name); + + if (!is_btrfs_fs(p0) || !is_btrfs_fs(p1)) + return false; + return btrfs_same_fs(p0, p1) == 0; }