From: Christian Brauner Date: Sat, 1 Jul 2017 21:33:18 +0000 (+0200) Subject: storage: prefix all nbd paths X-Git-Tag: lxc-2.1.0~58^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=094c1904a5129e948fdeb6105c9442ff307cf1e0;p=thirdparty%2Flxc.git storage: prefix all nbd paths Signed-off-by: Christian Brauner --- diff --git a/src/lxc/bdev/lxcnbd.c b/src/lxc/bdev/lxcnbd.c index 4a55e9fff..e6ce59038 100644 --- a/src/lxc/bdev/lxcnbd.c +++ b/src/lxc/bdev/lxcnbd.c @@ -117,17 +117,21 @@ int nbd_detect(const char *path) int nbd_mount(struct bdev *bdev) { int ret = -1, partition; + char *src; char path[50]; if (strcmp(bdev->type, "nbd")) return -22; + if (!bdev->src || !bdev->dest) return -22; /* nbd_idx should have been copied by bdev_init from the lxc_conf */ if (bdev->nbd_idx < 0) return -22; - partition = nbd_get_partition(bdev->src); + + src = lxc_storage_get_path(bdev->src, bdev->type); + partition = nbd_get_partition(src); if (partition) ret = snprintf(path, 50, "/dev/nbd%dp%d", bdev->nbd_idx, partition); @@ -152,14 +156,13 @@ int nbd_mount(struct bdev *bdev) int nbd_umount(struct bdev *bdev) { - int ret; - if (strcmp(bdev->type, "nbd")) return -22; + if (!bdev->src || !bdev->dest) return -22; - ret = umount(bdev->dest); - return ret; + + return umount(bdev->dest); } bool requires_nbd(const char *path)