chiark / gitweb /
readahead: never readahead temporary files since their names tend not to be stable
[elogind.git] / src / readahead-collect.c
index 6705615d11e7267028c48476f68e5269537c8643..c8490b5d3ce0e2d2cf8c6896792ba4facefea87f 100644 (file)
@@ -57,7 +57,6 @@
  * - read ahead directories
  * - sd_readahead_cancel
  * - gzip?
- * - oom adjust
  * - remount rw
  * - are filenames from anotify normalized regards /../ and // and /./?
  * - does ioprio_set work with fadvise()?
@@ -216,6 +215,8 @@ static int collect(const char *root) {
 
         assert(root);
 
+        write_one_line_file("/proc/self/oom_score_adj", "1000");
+
         if (ioprio_set(IOPRIO_WHO_PROCESS, getpid(), IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0)) < 0)
                 log_warning("Failed to set IDLE IO priority class: %m");
 
@@ -323,8 +324,10 @@ static int collect(const char *root) {
 
                                 if ((k = readlink_malloc(fn, &p)) >= 0) {
 
-                                        if (hashmap_get(files, p))
-                                                /* Already read */
+                                        if (startswith(p, "/tmp") ||
+                                            hashmap_get(files, p))
+                                                /* Not interesting, or
+                                                 * already read */
                                                 free(p);
                                         else {
                                                 unsigned long ul;