2014-05-28 06:43:08 +02:00
|
|
|
From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001
|
|
|
|
From: Lennart Poettering <lennart@poettering.net>
|
|
|
|
Date: Thu, 22 May 2014 16:49:12 +0900
|
|
|
|
Subject: [PATCH] core: never consider failure when reading drop-ins fatal
|
|
|
|
|
|
|
|
drop-ins don't carry the main configuration of a unit, hence read them
|
|
|
|
if we can't, complain if we cannot, but don't fail.
|
|
|
|
---
|
|
|
|
src/core/load-dropin.c | 42 +++++++++++++-----------------------------
|
|
|
|
1 file changed, 13 insertions(+), 29 deletions(-)
|
|
|
|
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
Index: src/core/load-dropin.c
|
|
|
|
===================================================================
|
|
|
|
--- src/core/load-dropin.c.orig
|
2014-05-28 06:43:08 +02:00
|
|
|
+++ src/core/load-dropin.c
|
|
|
|
@@ -58,6 +58,7 @@ static int iterate_dir(
|
|
|
|
if (errno == ENOENT)
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
+ log_error("Failed to open directory %s: %m", path);
|
|
|
|
return -errno;
|
|
|
|
}
|
|
|
|
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -101,7 +102,6 @@ static int process_dir(
|
2014-05-28 06:43:08 +02:00
|
|
|
char ***strv) {
|
|
|
|
|
|
|
|
_cleanup_free_ char *path = NULL;
|
|
|
|
- int r;
|
|
|
|
|
|
|
|
assert(u);
|
|
|
|
assert(unit_path);
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -112,11 +112,8 @@ static int process_dir(
|
2014-05-28 06:43:08 +02:00
|
|
|
if (!path)
|
|
|
|
return log_oom();
|
|
|
|
|
|
|
|
- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) {
|
|
|
|
- r = iterate_dir(u, path, dependency, strv);
|
|
|
|
- if (r < 0)
|
|
|
|
- return r;
|
|
|
|
- }
|
|
|
|
+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path))
|
|
|
|
+ iterate_dir(u, path, dependency, strv);
|
|
|
|
|
|
|
|
if (u->instance) {
|
|
|
|
_cleanup_free_ char *template = NULL, *p = NULL;
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -130,11 +127,8 @@ static int process_dir(
|
2014-05-28 06:43:08 +02:00
|
|
|
if (!p)
|
|
|
|
return log_oom();
|
|
|
|
|
|
|
|
- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) {
|
|
|
|
- r = iterate_dir(u, p, dependency, strv);
|
|
|
|
- if (r < 0)
|
|
|
|
- return r;
|
|
|
|
- }
|
|
|
|
+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p))
|
|
|
|
+ iterate_dir(u, p, dependency, strv);
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) {
|
2014-05-28 06:43:08 +02:00
|
|
|
SET_FOREACH(t, u->names, i) {
|
|
|
|
char **p;
|
|
|
|
|
|
|
|
- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
|
|
|
|
- /* This loads the drop-in config snippets */
|
|
|
|
- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv);
|
|
|
|
- if (r < 0)
|
|
|
|
- return NULL;
|
|
|
|
- }
|
|
|
|
+ STRV_FOREACH(p, u->manager->lookup_paths.unit_path)
|
|
|
|
+ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strv_isempty(strv))
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) {
|
|
|
|
int unit_load_dropin(Unit *u) {
|
|
|
|
Iterator i;
|
|
|
|
char *t, **f;
|
|
|
|
- int r;
|
|
|
|
|
|
|
|
assert(u);
|
|
|
|
|
|
|
|
@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) {
|
2014-05-28 06:43:08 +02:00
|
|
|
char **p;
|
|
|
|
|
|
|
|
STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
|
|
|
|
- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL);
|
|
|
|
- if (r < 0)
|
|
|
|
- return r;
|
|
|
|
-
|
|
|
|
- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL);
|
|
|
|
- if (r < 0)
|
|
|
|
- return r;
|
|
|
|
+ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL);
|
|
|
|
+ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
Accepting request 242359 from Base:System
- Disable blkrrpart for SLES12 and below
- Add upstream patch
1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
- Add with condition blkrrpart to be able to disable the patches
1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
which uses the BLKRRPART ioctl for e.g. synthesize change events
which may interfere with other tools like parted.
- Update
handle-disable_caplock-and-compose_table-and-kbd_rate.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
/etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
otherwise empty value in /etc/sysconfig/keyboard might override
/etc/vconsole.conf values.
- Update :
0001-journal-compress-return-early-in-uncompress_startswi.patch
0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
0002-vconsole-setup-run-setfont-before-loadkeys.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
apply-ACL-for-nvidia-device-nodes.patch
keep-crypt-password-prompt.patch
log-target-null-instead-kmsg.patch
parse-crypttab-for-noauto-option.patch
set-and-use-default-logconsole.patch: fix all warnings in code
- Remove 0001-compress-fix-return-value.patch: not relevant to
systemd v210 code.
- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
OBS-URL: https://build.opensuse.org/request/show/242359
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=195
2014-07-26 12:19:44 +02:00
|
|
|
@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) {
|
2014-05-28 06:43:08 +02:00
|
|
|
return 0;
|
|
|
|
|
|
|
|
STRV_FOREACH(f, u->dropin_paths) {
|
|
|
|
- r = config_parse(u->id, *f, NULL,
|
|
|
|
- UNIT_VTABLE(u)->sections, config_item_perf_lookup,
|
|
|
|
- (void*) load_fragment_gperf_lookup, false, false, u);
|
|
|
|
- if (r < 0)
|
|
|
|
- return r;
|
|
|
|
+ config_parse(u->id, *f, NULL,
|
|
|
|
+ UNIT_VTABLE(u)->sections, config_item_perf_lookup,
|
|
|
|
+ (void*) load_fragment_gperf_lookup, false, false, u);
|
|
|
|
}
|
|
|
|
|
|
|
|
u->dropin_mtime = now(CLOCK_REALTIME);
|