[lxc-devel] [PATCH] check for btrfs fs in should_default_to_snapshot

Christian Brauner christian.brauner at mailbox.org
Thu Jan 14 20:39:05 UTC 2016


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 <christian.brauner at mailbox.org>
---
 src/lxc/bdev/lxcbtrfs.c   | 2 +-
 src/lxc/bdev/lxcoverlay.c | 2 +-
 src/lxc/lxccontainer.c    | 4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lxc/bdev/lxcbtrfs.c b/src/lxc/bdev/lxcbtrfs.c
index 2db7c87..80b22fd 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 d06d24f..4d30f3c 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 490a59d..7f2a390 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;
 }
 
-- 
2.7.0



More information about the lxc-devel mailing list