diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-09-23 17:35:16 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-09-23 17:35:16 +0200 |
commit | 6e3eb5ba18172ed965e6b91fd7fc05de6c86f739 (patch) | |
tree | 76e7cbce7a863f8240f611d555ebe527faaea499 | |
parent | 746f89063666be8c4d538271c646585ac4fc4353 (diff) |
readahead: put limit on files we read ahead
-rw-r--r-- | src/readahead-collect.c | 3 | ||||
-rw-r--r-- | src/readahead-common.h | 1 |
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); |