mirror of
https://github.com/systemd/systemd.git
synced 2025-06-02 17:07:47 +03:00
Merge pull request #34791 from poettering/live-mount-tweak
tweaks to live mount property logging
This commit is contained in:
commit
6eb8d2bc3a
@ -168,7 +168,7 @@ static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_
|
||||
|
||||
r = unit_can_live_mount(u, error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
return log_unit_debug_errno(u, r, "Cannot schedule live mount operation: %s", bus_error_message(error, r));
|
||||
|
||||
r = mac_selinux_unit_access_check(u, message, "start", error);
|
||||
if (r < 0)
|
||||
|
@ -968,7 +968,7 @@ static void service_dump(Unit *u, FILE *f, const char *prefix) {
|
||||
"%sResult: %s\n"
|
||||
"%sReload Result: %s\n"
|
||||
"%sClean Result: %s\n"
|
||||
"%sMount Result: %s\n"
|
||||
"%sLiveMount Result: %s\n"
|
||||
"%sPermissionsStartOnly: %s\n"
|
||||
"%sRootDirectoryStartOnly: %s\n"
|
||||
"%sRemainAfterExit: %s\n"
|
||||
@ -5309,18 +5309,12 @@ static int service_can_live_mount(const Unit *u, sd_bus_error *error) {
|
||||
assert(u);
|
||||
|
||||
/* Ensure that the unit runs in a private mount namespace */
|
||||
if (!exec_needs_mount_namespace(unit_get_exec_context(u), /* params= */ NULL, unit_get_exec_runtime(u))) {
|
||||
|
||||
/* This is also called in property_get_can_live_mount(). Suppress the debugging log when called in it. */
|
||||
if (error)
|
||||
log_unit_debug(u, "Unit not running in private mount namespace, cannot live mount");
|
||||
|
||||
if (!exec_needs_mount_namespace(unit_get_exec_context(u), /* params= */ NULL, unit_get_exec_runtime(u)))
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Live mounting for unit '%s' cannot be scheduled: unit not running in private mount namespace",
|
||||
"Unit '%s' not running in private mount namespace, cannot live mount.",
|
||||
u->id);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -6396,24 +6396,20 @@ Condition *unit_find_failed_condition(Unit *u) {
|
||||
int unit_can_live_mount(const Unit *u, sd_bus_error *error) {
|
||||
assert(u);
|
||||
|
||||
if (!UNIT_VTABLE(u)->live_mount) {
|
||||
log_unit_debug(u, "Live mounting not supported for unit type '%s'", unit_type_to_string(u->type));
|
||||
if (!UNIT_VTABLE(u)->live_mount)
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Live mounting for unit '%s' cannot be scheduled: live mounting not supported for unit type '%s'",
|
||||
u->id,
|
||||
unit_type_to_string(u->type));
|
||||
}
|
||||
"Live mounting not supported for unit type '%s' of unit '%s'.",
|
||||
unit_type_to_string(u->type),
|
||||
u->id);
|
||||
|
||||
if (u->load_state != UNIT_LOADED) {
|
||||
log_unit_debug(u, "Unit not loaded");
|
||||
if (u->load_state != UNIT_LOADED)
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
BUS_ERROR_NO_SUCH_UNIT,
|
||||
"Live mounting for unit '%s' cannot be scheduled: unit not loaded",
|
||||
"Unit '%s' not loaded, cannot live mount.",
|
||||
u->id);
|
||||
}
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_live_mount)
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user