Magellan Linux

Annotation of /tags/mkinitrd-6_1_3/busybox/miscutils/readahead.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 816 - (hide annotations) (download)
Fri Apr 24 18:33:46 2009 UTC (15 years, 2 months ago) by niro
Original Path: trunk/mkinitrd-magellan/busybox/miscutils/readahead.c
File MIME type: text/plain
File size: 888 byte(s)
-updated to busybox-1.13.4
1 niro 532 /* vi: set sw=4 ts=4: */
2     /*
3     * readahead implementation for busybox
4     *
5     * Preloads the given files in RAM, to reduce access time.
6     * Does this by calling the readahead(2) system call.
7     *
8     * Copyright (C) 2006 Michael Opdenacker <michael@free-electrons.com>
9     *
10     * Licensed under GPLv2 or later, see file License in this tarball for details.
11     */
12    
13 niro 816 #include "libbb.h"
14 niro 532
15 niro 816 int readahead_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
16 niro 532 int readahead_main(int argc, char **argv)
17     {
18     int retval = EXIT_SUCCESS;
19    
20     if (argc == 1) bb_show_usage();
21    
22     while (*++argv) {
23 niro 816 int fd = open_or_warn(*argv, O_RDONLY);
24     if (fd >= 0) {
25     off_t len;
26     int r;
27 niro 532
28 niro 816 /* 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);
32     close(fd);
33     if (r >= 0)
34     continue;
35 niro 532 }
36     retval = EXIT_FAILURE;
37     }
38    
39     return retval;
40     }