chiark / gitweb /
readahead: properly initialize variable
[elogind.git] / src / readahead-replay.c
index a5a2936b3e816ce751ddb30d9160d36781af50bc..f0710e5ddf7ef1cb7d1cac95b5dcef88179c4940 100644 (file)
@@ -89,8 +89,8 @@ static int unpack_file(FILE *pack) {
                 any = true;
 
                 if (fd >= 0)
-                        if (readahead(fd, b * PAGE_SIZE, (c - b) * PAGE_SIZE) < 0) {
-                                log_warning("readahead() failed: %m");
+                        if (posix_fadvise(fd, b * PAGE_SIZE, (c - b) * PAGE_SIZE, POSIX_FADV_WILLNEED) < 0) {
+                                log_warning("posix_fadvise() failed: %m");
                                 goto finish;
                         }
         }
@@ -100,8 +100,8 @@ static int unpack_file(FILE *pack) {
                  * intended to mean that the whole file shall be
                  * read */
 
-                if (readahead(fd, 0, st.st_size) < 0) {
-                        log_warning("readahead() failed: %m");
+                if (posix_fadvise(fd, 0, st.st_size, POSIX_FADV_WILLNEED) < 0) {
+                        log_warning("posix_fadvise() failed: %m");
                         goto finish;
                 }
         }
@@ -114,7 +114,7 @@ finish:
 }
 
 static int replay(const char *root) {
-        FILE *pack;
+        FILE *pack = NULL;
         char line[LINE_MAX];
         int r = 0;
         char *pack_fn = NULL, c;