]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
mount: Cleanup allow over-mounting 2860/head
authorStéphane Graber <stgraber@ubuntu.com>
Sat, 16 Feb 2019 01:02:07 +0000 (20:02 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Sat, 16 Feb 2019 01:14:34 +0000 (20:14 -0500)
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
src/lxc/lxccontainer.c

index 667674ba0b00dbbafe73e931acfbefc45b51b7e9..683bf5f43e4344b69451947b16aa836eabda1c40 100644 (file)
@@ -4970,7 +4970,10 @@ static int create_mount_target(const char *dest, mode_t st_mode)
                ret = mkdir(dest, 0000);
        else
                ret = mknod(dest, S_IFREG | 0000, 0);
-       if (ret < 0) {
+
+       if (ret == 0)
+               TRACE("Created mount target \"%s\"", dest);
+       else if (ret < 0 && ret != EEXIST) {
                SYSERROR("Failed to create mount target \"%s\"", dest);
                return -1;
        }
@@ -5071,12 +5074,9 @@ static int do_lxcapi_mount(struct lxc_container *c, const char *source,
                        _exit(EXIT_FAILURE);
                }
 
-               if (access(target, F_OK) < 0 && errno == ENOENT) {
-                       ret = create_mount_target(target, sb.st_mode);
-                       if (ret < 0)
-                               _exit(EXIT_FAILURE);
-                       TRACE("Created mount target \"%s\"", target);
-               }
+               ret = create_mount_target(target, sb.st_mode);
+               if (ret < 0)
+                       _exit(EXIT_FAILURE);
 
                suff = strrchr(template, '/');
                if (!suff)