chiark / gitweb /
readahead: take file system root on command line
[elogind.git] / src / readahead-collect.c
index 5ff3711068ab3acdcfba02b442e5751a47d51c14..937231ca4282d46355b01b738c51c6cbccf896ef 100644 (file)
@@ -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)
@@ -316,7 +319,6 @@ static int collect(const char *root) {
 
                         m = FAN_EVENT_NEXT(m, n);
                 }
-
         }
 
         if (fanotify_fd >= 0) {
@@ -435,13 +437,12 @@ finish:
 }
 
 int main(int argc, char *argv[]) {
-        /* log_set_target(LOG_TARGET_SYSLOG_OR_KMSG); */
+
+        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
         log_parse_environment();
         log_open();
 
-        log_set_max_level(LOG_DEBUG);
-
-        if (collect("/") < 0)
+        if (collect(argc >= 2 ? argv[1] : "/") < 0)
                 return 1;
 
         return 0;