From: Christian Brauner Date: Sat, 23 Sep 2017 20:32:25 +0000 (+0200) Subject: lvm: fix thinpool logical volumes X-Git-Tag: lxc-3.0.0.beta1~232^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1828%2Fhead;p=thirdparty%2Flxc.git lvm: fix thinpool logical volumes Closes #1827. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/storage/lvm.c b/src/lxc/storage/lvm.c index 6ceab1dea..105377890 100644 --- a/src/lxc/storage/lvm.c +++ b/src/lxc/storage/lvm.c @@ -264,17 +264,18 @@ int lvm_umount(struct lxc_storage *bdev) int lvm_compare_lv_attr(const char *path, int pos, const char expected) { struct lxc_popen_FILE *f; - int ret, len, status; + int ret, status; + size_t len; char *cmd; char output[12]; - int start=0; + int start = 0; const char *lvscmd = "lvs --unbuffered --noheadings -o lv_attr %s 2>/dev/null"; - len = strlen(lvscmd) + strlen(path) - 1; + len = strlen(lvscmd) + strlen(path) + 1; cmd = alloca(len); ret = snprintf(cmd, len, lvscmd, path); - if (ret < 0 || ret >= len) + if (ret < 0 || (size_t)ret >= len) return -1; f = lxc_popen(cmd); @@ -283,6 +284,7 @@ int lvm_compare_lv_attr(const char *path, int pos, const char expected) return -1; } + ret = 0; if (!fgets(output, 12, f->f)) ret = 1;