summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-04-24 13:12:29 +0200
committerLennart Poettering <lennart@poettering.net>2012-04-24 13:14:40 +0200
commit3b2d5b02ae231f1d3eb0d96eb980155d7797304e (patch)
tree0ba7982fdfc66ddfca030ca772b8d3286f7ea3c0
parent5273510e9f228a300ec6207d4502f1c6253aed5e (diff)
readahead: rather than checking for virtualization in the C code, use ConditionVirtualization= in the unit
-rw-r--r--TODO2
-rw-r--r--src/readahead/readahead-collect.c16
-rw-r--r--src/readahead/readahead-replay.c11
-rw-r--r--units/systemd-readahead-collect.service.in1
-rw-r--r--units/systemd-readahead-replay.service.in1
5 files changed, 17 insertions, 14 deletions
diff --git a/TODO b/TODO
index e38c1105a4..3683e6a549 100644
--- a/TODO
+++ b/TODO
@@ -21,6 +21,8 @@ Bugfixes:
Features:
+* fedora: make sshd and pam_loginuid work in nspawn containers
+
* fix utmp for console logins in containers
* Add pretty name for seats in logind
diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
index 3e91d5c28a..008ede3964 100644
--- a/src/readahead/readahead-collect.c
+++ b/src/readahead/readahead-collect.c
@@ -660,11 +660,17 @@ int main(int argc, char *argv[]) {
umask(0022);
- if ((r = parse_argv(argc, argv)) <= 0)
+ r = parse_argv(argc, argv);
+ if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/";
+ /* Skip this step on read-only media. Note that we check the
+ * underlying block device here, not he read-only flag of the
+ * file system on top, since that one is most likely mounted
+ * read-only anyway at boot, even if the underlying block
+ * device is theoretically writable. */
if (fs_on_read_only(root) > 0) {
log_info("Disabling readahead collector due to read-only media.");
return 0;
@@ -675,12 +681,8 @@ int main(int argc, char *argv[]) {
return 0;
}
- if (detect_virtualization(NULL) > 0) {
- log_info("Disabling readahead collector due to execution in virtualized environment.");
- return 0;
- }
-
- if (!(shared = shared_get()))
+ shared = shared_get();
+ if (!shared)
return 1;
shared->collect = getpid();
diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c
index 7c263f6e53..f91020e805 100644
--- a/src/readahead/readahead-replay.c
+++ b/src/readahead/readahead-replay.c
@@ -350,7 +350,8 @@ int main(int argc, char*argv[]) {
umask(0022);
- if ((r = parse_argv(argc, argv)) <= 0)
+ r = parse_argv(argc, argv);
+ if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/";
@@ -360,12 +361,8 @@ int main(int argc, char*argv[]) {
return 0;
}
- if (detect_virtualization(NULL) > 0) {
- log_info("Disabling readahead replay due to execution in virtualized environment.");
- return 0;
- }
-
- if (!(shared = shared_get()))
+ shared = shared_get();
+ if (!shared)
return 1;
shared->replay = getpid();
diff --git a/units/systemd-readahead-collect.service.in b/units/systemd-readahead-collect.service.in
index 63840b916b..c5e1d5274f 100644
--- a/units/systemd-readahead-collect.service.in
+++ b/units/systemd-readahead-collect.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
Wants=systemd-readahead-done.timer
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
+ConditionVirtualization=no
[Service]
Type=notify
diff --git a/units/systemd-readahead-replay.service.in b/units/systemd-readahead-replay.service.in
index ad27395d9a..7387ebac08 100644
--- a/units/systemd-readahead-replay.service.in
+++ b/units/systemd-readahead-replay.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
ConditionPathExists=/.readahead
+ConditionVirtualization=no
[Service]
Type=notify