Mercurial > hg > toybox
view toys/other/readahead.c @ 944:b4faf2ae39e8
This inlines CRC64, and nothing more.
The functions involved were called only once.
author | Isaac Dunham <idunham@lavabit.com> |
---|---|
date | Sat, 06 Jul 2013 11:26:15 -0500 |
parents | 5aa90a446d52 |
children |
line wrap: on
line source
/* readahead.c - preload files into disk cache. * * Copyright 2013 Rob Landley <rob@landley.net> * * No standard. USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN)) config READAHEAD bool "readahead" default y help usage: readahead FILE... Preload files into disk cache. */ #include "toys.h" #include <sys/syscall.h> static void do_readahead(int fd, char *name) { int rc; // Since including fcntl.h doesn't give us the wrapper, use the syscall. // 32 bits takes LO/HI offset (we don't care about endianness of 0). if (sizeof(long) == 4) rc = syscall(__NR_readahead, fd, 0, 0, INT_MAX); else rc = syscall(__NR_readahead, fd, 0, INT_MAX); if (rc) perror_msg("readahead: %s", name); } void readahead_main(void) { loopfiles(toys.optargs, do_readahead); }