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:
commit
e9c88a608c
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user