From a93488dfcb4fba24b842bf95f46685d6c48d4f01 Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Mon, 21 Sep 2015 17:09:25 +0000 Subject: [PATCH] overlayfs_mount: create delta dir if it doesn't exist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (This *should* fix the lxc-test-snapshot testcase, but doesn't seem to by itself.) If it doesn't exist, we may as well start with an empty one. This is needed when creating an overlayfs snapshot. Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- src/lxc/bdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lxc/bdev.c b/src/lxc/bdev.c index 64e88322a..b81827eae 100644 --- a/src/lxc/bdev.c +++ b/src/lxc/bdev.c @@ -2224,6 +2224,10 @@ static int overlayfs_mount(struct bdev *bdev) *upper = '\0'; upper++; + // if delta doesn't yet exist, create it + if (mkdir_p(upper, 0755) < 0 && errno != EEXIST) + return -22; + // overlayfs.v22 or higher needs workdir option // if upper is /var/lib/lxc/c2/delta0, // then workdir is /var/lib/lxc/c2/olwork