Use posix_fadvise to tell the kernel how we use the output file.
[pxzcat.git] / pxzcat.c
index 346e3f8..a6becce 100644 (file)
--- a/pxzcat.c
+++ b/pxzcat.c
@@ -171,6 +171,9 @@ xzfile_uncompress (const char *filename, const char *outputfile,
   if (ftruncate (ofd, size) == -1)
     error (EXIT_FAILURE, errno, "ftruncate: %s", outputfile);
 
+  /* Tell the kernel we won't read the output file. */
+  posix_fadvise (fd, 0, 0, POSIX_FADV_RANDOM|POSIX_FADV_DONTNEED);
+
   /* Iterate over blocks. */
   iter_blocks (idx, nr_threads, filename, fd, outputfile, ofd);