+ if (asprintf(&pack_fn, "%s/.readahead", root) < 0) {
+ log_error("Out of memory");
+ r = -ENOMEM;
+ goto finish;
+ }
+
+ /* If there's no pack file yet we lower the kernel readahead
+ * so that mincore() is accurate. If there is a pack file
+ * already we assume it is accurate enough so that kernel
+ * readahead is never triggered. */
+ previous_block_readahead_set =
+ access(pack_fn, F_OK) < 0 &&
+ block_get_readahead(root, &previous_block_readahead) >= 0 &&
+ block_set_readahead(root, 8*1024) >= 0;
+