Mercurial > hg > toybox
view toys/other/readahead.c @ 1178:f8432a8872e0 draft
More work on the cleanup page, partway through describing ifconfig.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 01 Jan 2014 15:00:44 -0600 |
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); }