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