Merge pull request #34791 from poettering/live-mount-tweak

tweaks to live mount property logging
This commit is contained in:
Luca Boccassi
2024-10-16 14:43:14 +01:00
committed by GitHub
3 changed files with 10 additions and 20 deletions
+1 -1
View File
@@ -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)
+3 -9
View File
@@ -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;
}
+6 -10
View File
@@ -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;