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;
}
assert(root);
write_one_line_file("/proc/self/oom_score_adj", "1000");
+ bump_request_nr(root);
if (asprintf(&pack_fn, "%s/.readahead", root) < 0) {
log_error("Out of memory");
}
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");
goto finish;
}
+ posix_fadvise(fileno(pack), 0, 0, POSIX_FADV_WILLNEED);
+
if ((inotify_fd = open_inotify()) < 0) {
r = inotify_fd;
goto finish;