chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gnome-ask-password-agent.vala: check for VALA_0_12
[elogind.git]
/
src
/
readahead-replay.c
diff --git
a/src/readahead-replay.c
b/src/readahead-replay.c
index e9c573a5930f0ada0e2359978fe4b0eecaa35084..d2de7ef2887b67620bc9cafc42838929e51bfd13 100644
(file)
--- a/
src/readahead-replay.c
+++ b/
src/readahead-replay.c
@@
-62,7
+62,7
@@
static int unpack_file(FILE *pack) {
if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0) {
if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0) {
- if (errno != ENOENT)
+ if (errno != ENOENT
&& errno != EPERM && errno != EACCES
)
log_warning("open(%s) failed: %m", fn);
} else if (file_verify(fd, fn, arg_file_size_max, &st) <= 0) {
log_warning("open(%s) failed: %m", fn);
} else if (file_verify(fd, fn, arg_file_size_max, &st) <= 0) {
@@
-192,7
+192,7
@@
static int replay(const char *root) {
log_debug("Replaying...");
log_debug("Replaying...");
- if (access("/dev/.systemd/readahead/noreplay", F_OK) >= 0) {
+ if (access("/dev/.
run/
systemd/readahead/noreplay", F_OK) >= 0) {
log_debug("Got termination request");
goto done;
}
log_debug("Got termination request");
goto done;
}
@@
-333,6
+333,7
@@
static int parse_argv(int argc, char *argv[]) {
int main(int argc, char*argv[]) {
int r;
int main(int argc, char*argv[]) {
int r;
+ const char *root;
log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
log_parse_environment();
log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
log_parse_environment();
@@
-341,13
+342,15
@@
int main(int argc, char*argv[]) {
if ((r = parse_argv(argc, argv)) <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
if ((r = parse_argv(argc, argv)) <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+ root = optind < argc ? argv[optind] : "/";
+
if (!enough_ram()) {
log_info("Disabling readahead replay due to low memory.");
return 0;
}
if (!enough_ram()) {
log_info("Disabling readahead replay due to low memory.");
return 0;
}
- if (
running_in_vm()
) {
- log_info("Disabling readahead replay due to execution in virtual
machine
.");
+ if (
detect_virtualization(NULL) > 0
) {
+ log_info("Disabling readahead replay due to execution in virtual
ized environment
.");
return 0;
}
return 0;
}
@@
-357,7
+360,7
@@
int main(int argc, char*argv[]) {
shared->replay = getpid();
__sync_synchronize();
shared->replay = getpid();
__sync_synchronize();
- if (replay(
optind < argc ? argv[optind] : "/"
) < 0)
+ if (replay(
root
) < 0)
return 1;
return 0;
return 1;
return 0;