1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +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
commit e9c88a608c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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