summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/readahead-collect.c3
-rw-r--r--src/readahead-common.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/readahead-collect.c b/src/readahead-collect.c
index 5ff3711068..3699c3db81 100644
--- a/src/readahead-collect.c
+++ b/src/readahead-collect.c
@@ -255,6 +255,9 @@ static int collect(const char *root) {
ssize_t n;
struct fanotify_event_metadata *m;
+ if (hashmap_size(files) > READAHEAD_FILES_MAX)
+ break;
+
if (poll(pollfd, _FD_MAX, -1) < 0) {
if (errno == EINTR)
diff --git a/src/readahead-common.h b/src/readahead-common.h
index da6a74ea03..5d8f1a34fa 100644
--- a/src/readahead-common.h
+++ b/src/readahead-common.h
@@ -25,6 +25,7 @@
#include <sys/stat.h>
#define READAHEAD_FILE_SIZE_MAX (128*1024*1024)
+#define READAHEAD_FILES_MAX (16*1024)
int file_verify(int fd, const char *fn, struct stat *st);