summaryrefslogtreecommitdiff
path: root/src/systemctl/systemctl.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-04-16 19:31:53 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-04-16 21:51:09 -0400
commit9a0a413a195a21888cf926be5595d0efc1eef0fe (patch)
tree80034840b635cecbb8d2fff9416a833e244b0e01 /src/systemctl/systemctl.c
parent76ec966f0e33685f8331603805c0349adceea836 (diff)
systemctl/core: ignore masked units in preset-all
With any masked unit that would that would be enabled by presets, we'd get: test@rawhide $ sudo systemctl preset-all Failed to execute operation: Unit file is masked. test@rawhide $ sudo systemctl --root=/ preset-all Operation failed: Cannot send after transport endpoint shutdown Simply ignore those units: test@rawhide $ sudo systemctl preset-all Unit xxx.service is masked, ignoring.
Diffstat (limited to 'src/systemctl/systemctl.c')
-rw-r--r--src/systemctl/systemctl.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 4942dbb6ad..0c64cbab80 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1989,12 +1989,20 @@ static void dump_unit_file_changes(const UnitFileChange *changes, unsigned n_cha
assert(changes || n_changes == 0);
- for (i = 0; i < n_changes; i++) {
- if (changes[i].type == UNIT_FILE_SYMLINK)
+ for (i = 0; i < n_changes; i++)
+ switch(changes[i].type) {
+ case UNIT_FILE_SYMLINK:
log_info("Created symlink %s, pointing to %s.", changes[i].path, changes[i].source);
- else
+ break;
+ case UNIT_FILE_UNLINK:
log_info("Removed %s.", changes[i].path);
- }
+ break;
+ case UNIT_FILE_IS_MASKED:
+ log_info("Unit %s is masked, ignoring.", changes[i].path);
+ break;
+ default:
+ assert_not_reached("bad change type");
+ }
}
static int set_default(int argc, char *argv[], void *userdata) {