summaryrefslogtreecommitdiff
path: root/src/shared/install.h
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/shared/install.h
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/shared/install.h')
-rw-r--r--src/shared/install.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shared/install.h b/src/shared/install.h
index 6f8b45d4f6..6b760def9b 100644
--- a/src/shared/install.h
+++ b/src/shared/install.h
@@ -72,10 +72,15 @@ enum UnitFilePresetMode {
enum UnitFileChangeType {
UNIT_FILE_SYMLINK,
UNIT_FILE_UNLINK,
+ UNIT_FILE_IS_MASKED,
_UNIT_FILE_CHANGE_TYPE_MAX,
_UNIT_FILE_CHANGE_TYPE_INVALID = -1
};
+static inline bool unit_file_change_is_modification(UnitFileChangeType type) {
+ return IN_SET(type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK);
+}
+
struct UnitFileChange {
UnitFileChangeType type;
char *path;