diff options
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index e46c72a644..77493dbd3c 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -138,6 +138,8 @@ static void mount_init(Unit *u) { m->directory_mode = 0755; exec_context_init(&m->exec_context); + kill_context_init(&m->kill_context); + cgroup_context_init(&m->cgroup_context); if (unit_has_name(u, "-.mount")) { /* Don't allow start/stop for root directory */ @@ -150,9 +152,6 @@ static void mount_init(Unit *u) { m->exec_context.std_error = u->manager->default_std_error; } - kill_context_init(&m->kill_context); - cgroup_context_init(&m->cgroup_context); - /* We need to make sure that /bin/mount is always called in * the same process group as us, so that the autofs kernel * side doesn't send us another mount request while we are @@ -503,29 +502,22 @@ static int mount_verify(Mount *m) { b = unit_has_name(UNIT(m), e); if (!b) { - log_error_unit(UNIT(m)->id, - "%s's Where setting doesn't match unit name. Refusing.", - UNIT(m)->id); + log_error_unit(UNIT(m)->id, "%s's Where= setting doesn't match unit name. Refusing.", UNIT(m)->id); return -EINVAL; } if (mount_point_is_api(m->where) || mount_point_ignore(m->where)) { - log_error_unit(UNIT(m)->id, - "Cannot create mount unit for API file system %s. Refusing.", - m->where); + log_error_unit(UNIT(m)->id, "Cannot create mount unit for API file system %s. Refusing.", m->where); return -EINVAL; } if (UNIT(m)->fragment_path && !m->parameters_fragment.what) { - log_error_unit(UNIT(m)->id, - "%s's What setting is missing. Refusing.", UNIT(m)->id); + log_error_unit(UNIT(m)->id, "%s's What setting is missing. Refusing.", UNIT(m)->id); return -EBADMSG; } if (m->exec_context.pam_name && m->kill_context.kill_mode != KILL_CONTROL_GROUP) { - log_error_unit(UNIT(m)->id, - "%s has PAM enabled. Kill mode must be set to control-group'. Refusing.", - UNIT(m)->id); + log_error_unit(UNIT(m)->id, "%s has PAM enabled. Kill mode must be set to control-group'. Refusing.",UNIT(m)->id); return -EINVAL; } @@ -536,7 +528,9 @@ static int mount_add_extras(Mount *m) { Unit *u = UNIT(m); int r; - if (UNIT(m)->fragment_path) + assert(m); + + if (u->fragment_path) m->from_fragment = true; if (!m->where) { @@ -551,7 +545,7 @@ static int mount_add_extras(Mount *m) { if (r < 0) return r; - if (!UNIT(m)->description) { + if (!u->description) { r = unit_set_description(u, m->where); if (r < 0) return r; @@ -569,7 +563,7 @@ static int mount_add_extras(Mount *m) { if (r < 0) return r; - if (UNIT(m)->default_dependencies) { + if (u->default_dependencies) { r = mount_add_default_dependencies(m); if (r < 0) return r; @@ -583,6 +577,10 @@ static int mount_add_extras(Mount *m) { if (r < 0) return r; + r = unit_exec_context_defaults(u, &m->exec_context); + if (r < 0) + return r; + return 0; } @@ -606,10 +604,6 @@ static int mount_load(Unit *u) { r = mount_add_extras(m); if (r < 0) return r; - - r = unit_exec_context_defaults(u, &m->exec_context); - if (r < 0) - return r; } return mount_verify(m); |