mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 09:21:26 +03:00
mount: ignore error when stop non-existing automount unit
The command `systemd-mount -u` tries to stop both mount and automount units. If the corresponding mount unit does not exist, then it is user's fault, that is, the specified path is not a mount point. However, not all mount units have corresponding autmount units. Thus, the error about non-existing automount unit is not user's falut, and showing the error may confuse users. So, let's ignore the error of such case.
This commit is contained in:
parent
95f35cccf0
commit
6442c2109c
@ -829,7 +829,7 @@ static int stop_mount(
|
|||||||
|
|
||||||
r = unit_name_from_path(where, suffix, &mount_unit);
|
r = unit_name_from_path(where, suffix, &mount_unit);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_error_errno(r, "Failed to make mount unit name from path %s: %m", where);
|
return log_error_errno(r, "Failed to make %s unit name from path %s: %m", suffix + 1, where);
|
||||||
|
|
||||||
r = sd_bus_message_new_method_call(
|
r = sd_bus_message_new_method_call(
|
||||||
bus,
|
bus,
|
||||||
@ -853,8 +853,12 @@ static int stop_mount(
|
|||||||
polkit_agent_open_if_enabled(arg_transport, arg_ask_password);
|
polkit_agent_open_if_enabled(arg_transport, arg_ask_password);
|
||||||
|
|
||||||
r = sd_bus_call(bus, m, 0, &error, &reply);
|
r = sd_bus_call(bus, m, 0, &error, &reply);
|
||||||
if (r < 0)
|
if (r < 0) {
|
||||||
return log_error_errno(r, "Failed to stop mount unit: %s", bus_error_message(&error, r));
|
if (streq(suffix, ".automount") &&
|
||||||
|
sd_bus_error_has_name(&error, "org.freedesktop.systemd1.NoSuchUnit"))
|
||||||
|
return 0;
|
||||||
|
return log_error_errno(r, "Failed to stop %s unit: %s", suffix + 1, bus_error_message(&error, r));
|
||||||
|
}
|
||||||
|
|
||||||
if (w) {
|
if (w) {
|
||||||
const char *object;
|
const char *object;
|
||||||
|
Loading…
Reference in New Issue
Block a user