chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
specifier: at minimal test
[elogind.git]
/
src
/
readahead-collect.c
diff --git
a/src/readahead-collect.c
b/src/readahead-collect.c
index 5c09f7a9e1df140b29f61585506476cacf7bbc19..ac46c7b3ea2afca7e49fb34c71e64ba93c674b97 100644
(file)
--- 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) {
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;
log_warning("open(%s) failed: %m", fn);
r = -errno;
goto finish;
@@
-398,8
+402,8
@@
static int collect(const char *root) {
char_array_0(fn);
if ((k = readlink_malloc(fn, &p)) >= 0) {
char_array_0(fn);
if ((k = readlink_malloc(fn, &p)) >= 0) {
-
if (startswith(p, "/tmp") ||
if (startswith(p, "/tmp") ||
+ endswith(p, " (deleted)") ||
hashmap_get(files, p))
/* Not interesting, or
* already read */
hashmap_get(files, p))
/* Not interesting, or
* already read */
@@
-435,7
+439,7
@@
done:
on_ssd = fs_on_ssd(root) > 0;
log_debug("On SSD: %s", yes_no(on_ssd));
on_ssd = fs_on_ssd(root) > 0;
log_debug("On SSD: %s", yes_no(on_ssd));
- on_btrfs = statfs(root, &sfs) >= 0 &&
sfs.f_type ==
BTRFS_SUPER_MAGIC;
+ on_btrfs = statfs(root, &sfs) >= 0 &&
(long) sfs.f_type == (long)
BTRFS_SUPER_MAGIC;
log_debug("On btrfs: %s", yes_no(on_btrfs));
asprintf(&pack_fn, "%s/.readahead", root);
log_debug("On btrfs: %s", yes_no(on_btrfs));
asprintf(&pack_fn, "%s/.readahead", root);