diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 20e1ffe26f..047a7b4424 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -2200,6 +2200,8 @@ static int method_get_default_target(sd_bus_message *message, void *userdata, sd return r; r = unit_file_get_default(m->unit_file_scope, NULL, &default_target); + if (r == -ERFKILL) + sd_bus_error_setf(error, BUS_ERROR_UNIT_MASKED, "Unit file is masked."); if (r < 0) return r; diff --git a/src/systemctl/systemctl-set-default.c b/src/systemctl/systemctl-set-default.c index c2dbf97649..7ddba17272 100644 --- a/src/systemctl/systemctl-set-default.c +++ b/src/systemctl/systemctl-set-default.c @@ -50,6 +50,8 @@ static int determine_default(char **ret_name) { if (install_client_side()) { r = unit_file_get_default(arg_scope, arg_root, ret_name); + if (r == -ERFKILL) + return log_error_errno(r, "Failed to get default target: Unit file is masked."); if (r < 0) return log_error_errno(r, "Failed to get default target: %m"); return 0;