summaryrefslogtreecommitdiff
path: root/src/core/namespace.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/namespace.c')
-rw-r--r--src/core/namespace.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/core/namespace.c b/src/core/namespace.c
index 722538caf1..4baf4750f4 100644
--- a/src/core/namespace.c
+++ b/src/core/namespace.c
@@ -291,16 +291,15 @@ static int apply_mount(
* inaccessible path. */
umount_recursive(m->path, 0);
- r = lstat(m->path, &target);
- if (r != 0) {
+ if (lstat(m->path, &target) < 0) {
if (m->ignore && errno == ENOENT)
return 0;
return -errno;
}
what = mode_to_inaccessible_node(target.st_mode);
- if (what == NULL) {
- log_debug("File type not supported. Note that symlinks are not allowed");
+ if (!what) {
+ log_debug("File type not supported for inaccessible mounts. Note that symlinks are not allowed");
return -ELOOP;
}
break;
@@ -331,12 +330,10 @@ static int apply_mount(
if (r >= 0) {
log_debug("Successfully mounted %s to %s", what, m->path);
return r;
- }
- else {
+ } else {
if (m->ignore && errno == ENOENT)
return 0;
- log_debug("Failed mounting %s to %s: %s", what, m->path, strerror(errno));
- return -errno;
+ return log_debug_errno(errno, "Failed to mount %s to %s: %m", what, m->path);
}
}
@@ -350,7 +347,8 @@ static int make_read_only(BindMount *m) {
else if (IN_SET(m->mode, READWRITE, PRIVATE_TMP, PRIVATE_VAR_TMP, PRIVATE_DEV)) {
r = bind_remount_recursive(m->path, false);
if (r == 0 && m->mode == PRIVATE_DEV) /* can be readonly but the submounts can't*/
- r = mount(NULL, m->path, NULL, MS_REMOUNT|DEV_MOUNT_OPTIONS|MS_RDONLY, NULL);
+ if (mount(NULL, m->path, NULL, MS_REMOUNT|DEV_MOUNT_OPTIONS|MS_RDONLY, NULL) < 0)
+ r = -errno;
} else
r = 0;