aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/readahead.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/miscutils/readahead.c b/miscutils/readahead.c
index 7b375cfff..fb71ce85f 100644
--- a/miscutils/readahead.c
+++ b/miscutils/readahead.c
@@ -22,9 +22,16 @@ int readahead_main(int argc, char **argv)
22 while (*++argv) { 22 while (*++argv) {
23 int fd = open_or_warn(*argv, O_RDONLY); 23 int fd = open_or_warn(*argv, O_RDONLY);
24 if (fd >= 0) { 24 if (fd >= 0) {
25 int r = readahead(fd, 0, fdlength(fd)); 25 off_t len;
26 int r;
27
28 /* fdlength was reported to be unreliable - use seek */
29 len = xlseek(fd, 0, SEEK_END);
30 xlseek(fd, 0, SEEK_SET);
31 r = readahead(fd, 0, len);
26 close(fd); 32 close(fd);
27 if (r >= 0) continue; 33 if (r >= 0)
34 continue;
28 } 35 }
29 retval = EXIT_FAILURE; 36 retval = EXIT_FAILURE;
30 } 37 }