]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/mount: fail early if directory cannot be created
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 2 Feb 2022 05:05:45 +0000 (14:05 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 2 Feb 2022 06:09:45 +0000 (15:09 +0900)
Prompted by #22334.

src/core/mount.c

index 0170406351a28d432b739978e5903ca478c91d23..c650b5abe2f9e2c7386899354ac331bb6c469e68 100644 (file)
@@ -1027,8 +1027,10 @@ static void mount_enter_mounting(Mount *m) {
                 r = mkdir_p_label(p->what, m->directory_mode);
                 /* mkdir_p_label() can return -EEXIST if the target path exists and is not a directory - which is
                  * totally OK, in case the user wants us to overmount a non-directory inode. */
-                if (r < 0 && r != -EEXIST)
+                if (r < 0 && r != -EEXIST) {
                         log_unit_error_errno(UNIT(m), r, "Failed to make bind mount source '%s': %m", p->what);
+                        goto fail;
+                }
         }
 
         if (p) {