Skip to content

Commit 5d0fb94

Browse files
dtardonbluca
authored andcommitted
systemctl: print better message if default target is masked
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. (cherry picked from commit 7c78a19) (cherry picked from commit 144ac49) (cherry picked from commit 30eae23) (cherry picked from commit 407726d)
1 parent 6d5014e commit 5d0fb94

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/core/dbus-manager.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2052,6 +2052,8 @@ static int method_get_default_target(sd_bus_message *message, void *userdata, sd
20522052
return r;
20532053

20542054
r = unit_file_get_default(m->unit_file_scope, NULL, &default_target);
2055+
if (r == -ERFKILL)
2056+
sd_bus_error_setf(error, BUS_ERROR_UNIT_MASKED, "Unit file is masked.");
20552057
if (r < 0)
20562058
return r;
20572059

src/systemctl/systemctl-set-default.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ static int determine_default(char **ret_name) {
5050

5151
if (install_client_side()) {
5252
r = unit_file_get_default(arg_scope, arg_root, ret_name);
53+
if (r == -ERFKILL)
54+
return log_error_errno(r, "Failed to get default target: Unit file is masked.");
5355
if (r < 0)
5456
return log_error_errno(r, "Failed to get default target: %m");
5557
return 0;

0 commit comments

Comments
 (0)