readahead: ignore if files are removed during collection or before replay

This commit is contained in:
Lennart Poettering 2011-01-04 23:42:58 +01:00
parent 60b4f27794
commit a78899f541
2 changed files with 11 additions and 4 deletions

View file

@ -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;

View file

@ -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");