chiark / gitweb /
readahead: rather than checking for virtualization in the C code, use ConditionVirtua...
authorLennart Poettering <lennart@poettering.net>
Tue, 24 Apr 2012 11:12:29 +0000 (13:12 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 24 Apr 2012 11:14:40 +0000 (13:14 +0200)
TODO
src/readahead/readahead-collect.c
src/readahead/readahead-replay.c
units/systemd-readahead-collect.service.in
units/systemd-readahead-replay.service.in

diff --git a/TODO b/TODO
index e38c110..3683e6a 100644 (file)
--- 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
index 3e91d5c..008ede3 100644 (file)
@@ -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();
index 7c263f6..f91020e 100644 (file)
@@ -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();
index 63840b9..c5e1d52 100644 (file)
@@ -11,6 +11,7 @@ DefaultDependencies=no
 Wants=systemd-readahead-done.timer
 Conflicts=shutdown.target
 Before=sysinit.target shutdown.target
+ConditionVirtualization=no
 
 [Service]
 Type=notify
index ad27395..7387eba 100644 (file)
@@ -11,6 +11,7 @@ DefaultDependencies=no
 Conflicts=shutdown.target
 Before=sysinit.target shutdown.target
 ConditionPathExists=/.readahead
+ConditionVirtualization=no
 
 [Service]
 Type=notify