If the default target is masked, `systemctl get-default` prints
Failed to get default target: Operation not possible due to RF-kill
That's a bit too cryptic, so let's make it clear what's actually
happening.
Fixes #26589.
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;
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;