1
0
mirror of https://github.com/systemd/systemd.git synced 2025-09-09 17:44:49 +03:00

Merge pull request #24122 from yuwata/core-mount-bind-mount-on-nfs

core/mount: ignore -EACCES from mkdir_p_label() on NFS
This commit is contained in:
Luca Boccassi
2022-07-26 23:17:23 +01:00
committed by GitHub

View File

@@ -1053,11 +1053,13 @@ static void mount_enter_mounting(Mount *m) {
if (p && mount_is_bind(p)) { if (p && mount_is_bind(p)) {
r = mkdir_p_label(p->what, m->directory_mode); 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 /* 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. */ * totally OK, in case the user wants us to overmount a non-directory inode. Also -EROFS can be
if (r < 0 && r != -EEXIST) { * returned on read-only filesystem. Moreover, -EACCES (and also maybe -EPERM?) may be returned
log_unit_error_errno(UNIT(m), r, "Failed to make bind mount source '%s': %m", p->what); * when the path is on NFS. See issue #24120. All such errors will be logged in the debug level. */
goto fail; if (r < 0 && r != -EEXIST)
} log_unit_full_errno(UNIT(m),
(r == -EROFS || ERRNO_IS_PRIVILEGE(r)) ? LOG_DEBUG : LOG_WARNING,
r, "Failed to make bind mount source '%s', ignoring: %m", p->what);
} }
if (p) { if (p) {