[systemd-commits] src/readahead-collect.c src/readahead-replay.c
Lennart Poettering
lennart at kemper.freedesktop.org
Tue Jan 4 14:44:45 PST 2011
src/readahead-collect.c | 4 ++++
src/readahead-replay.c | 11 +++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
New commits:
commit a78899f541b944dd02fe581b1c3230eadccad1ba
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Jan 4 23:42:58 2011 +0100
readahead: ignore if files are removed during collection or before replay
diff --git a/src/readahead-collect.c b/src/readahead-collect.c
index a9f544d..ac46c7b 100644
--- a/src/readahead-collect.c
+++ b/src/readahead-collect.c
@@ -92,6 +92,10 @@ static int pack_file(FILE *pack, const char *fn, bool on_btrfs) {
assert(fn);
if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0) {
+
+ if (errno == ENOENT)
+ return 0;
+
log_warning("open(%s) failed: %m", fn);
r = -errno;
goto finish;
diff --git a/src/readahead-replay.c b/src/readahead-replay.c
index ab0c808..87f2e59 100644
--- a/src/readahead-replay.c
+++ b/src/readahead-replay.c
@@ -60,9 +60,12 @@ static int unpack_file(FILE *pack) {
char_array_0(fn);
truncate_nl(fn);
- if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0)
- log_warning("open(%s) failed: %m", fn);
- else if (file_verify(fd, fn, arg_file_size_max, &st) <= 0) {
+ if ((fd = open(fn, O_RDONLY|O_CLOEXEC|O_NOATIME|O_NOCTTY|O_NOFOLLOW)) < 0) {
+
+ if (errno != ENOENT)
+ log_warning("open(%s) failed: %m", fn);
+
+ } else if (file_verify(fd, fn, arg_file_size_max, &st) <= 0) {
close_nointr_nofail(fd);
fd = -1;
}
@@ -136,7 +139,7 @@ static int replay(const char *root) {
}
if ((!(pack = fopen(pack_fn, "re")))) {
- if (errno == -ENOENT)
+ if (errno == ENOENT)
log_debug("No pack file found.");
else {
log_error("Failed to open pack file: %m");
More information about the systemd-commits
mailing list