1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00

readahead: rather than checking for virtualization in the C code, use ConditionVirtualization= in the unit

This commit is contained in:
Lennart Poettering 2012-04-24 13:12:29 +02:00
parent 5273510e9f
commit 3b2d5b02ae
5 changed files with 17 additions and 14 deletions

2
TODO
View File

@ -21,6 +21,8 @@ Bugfixes:
Features: Features:
* fedora: make sshd and pam_loginuid work in nspawn containers
* fix utmp for console logins in containers * fix utmp for console logins in containers
* Add pretty name for seats in logind * Add pretty name for seats in logind

View File

@ -660,11 +660,17 @@ int main(int argc, char *argv[]) {
umask(0022); umask(0022);
if ((r = parse_argv(argc, argv)) <= 0) r = parse_argv(argc, argv);
if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/"; 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) { if (fs_on_read_only(root) > 0) {
log_info("Disabling readahead collector due to read-only media."); log_info("Disabling readahead collector due to read-only media.");
return 0; return 0;
@ -675,12 +681,8 @@ int main(int argc, char *argv[]) {
return 0; return 0;
} }
if (detect_virtualization(NULL) > 0) { shared = shared_get();
log_info("Disabling readahead collector due to execution in virtualized environment."); if (!shared)
return 0;
}
if (!(shared = shared_get()))
return 1; return 1;
shared->collect = getpid(); shared->collect = getpid();

View File

@ -350,7 +350,8 @@ int main(int argc, char*argv[]) {
umask(0022); umask(0022);
if ((r = parse_argv(argc, argv)) <= 0) r = parse_argv(argc, argv);
if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/"; root = optind < argc ? argv[optind] : "/";
@ -360,12 +361,8 @@ int main(int argc, char*argv[]) {
return 0; return 0;
} }
if (detect_virtualization(NULL) > 0) { shared = shared_get();
log_info("Disabling readahead replay due to execution in virtualized environment."); if (!shared)
return 0;
}
if (!(shared = shared_get()))
return 1; return 1;
shared->replay = getpid(); shared->replay = getpid();

View File

@ -11,6 +11,7 @@ DefaultDependencies=no
Wants=systemd-readahead-done.timer Wants=systemd-readahead-done.timer
Conflicts=shutdown.target Conflicts=shutdown.target
Before=sysinit.target shutdown.target Before=sysinit.target shutdown.target
ConditionVirtualization=no
[Service] [Service]
Type=notify Type=notify

View File

@ -11,6 +11,7 @@ DefaultDependencies=no
Conflicts=shutdown.target Conflicts=shutdown.target
Before=sysinit.target shutdown.target Before=sysinit.target shutdown.target
ConditionPathExists=/.readahead ConditionPathExists=/.readahead
ConditionVirtualization=no
[Service] [Service]
Type=notify Type=notify