cachefs(4) cachefs(4) NAME cachefs - Cache File System Description DESCRIPTION Cachefs is a file system layered above other standard IRIX file systems. It performs automatic local caching of data from one file system (typically remote) on a local file system. Any of the following file systems may be used for the cached data: xfs and efs. Any of the following file systems may be used as the source of data to be cached: nfs, nfs3, iso9660, cdfs, hfs, kfs, dos, and udf. Data is cached when it is first accessed. Subsequent accesses will retrieve the data from the cache. Consistency will be maintained in a manner similar to that used for NFS. TERMINOLOGY front file system This is the local file system on which cached data is stored. back file system This is the file system which contains the definitive copy of the data. Data is retrieved from this file system and cached on the front file system. cnode This is the internal data structure used by cachefs to manage its files. There is one cnode for each open file. Each cnode occupies 128 bytes on a 32 bit system and 256 bytes on a 64 bit system. In addition, each cnode points to a dynamically allocated area of 512 bytes containing metadata and attributes. TUNING Cachefs has a number of different tuning parameters, some of which are supplied on the mount(1M) command (see fstab(4)), some of which are supplied via cfsadmin(1M), and some of which are kernel tuanbles adjustable with systune(1M). The kernel tunables are adjustable on a running kernel and control readahead, asynchronous operations, and cnode caching. The kernel tunables are described below. cachefs_readahead This controls the number of blocks to read ahead of the current block being read. These will be read asynchronously. The size of a block is whatever the preferred I/O size is for the front file system. cachefs_max_threads This is the maximum number of asynchronous I/O daemons allowed to be running per cachefs mounted file system. fileheader_cache_size This is the size in 512-byte units of the in-memory cache of file header information (cached attributes and other metadata). This number indicates the number of such headers retained after other system internal data (e.g., the vnode) for a file has been released. replacement_timeout This controls the time between reconstructions of the replacement list by the replacement daemon (cachefs_replacement). If no replacement requests are made by the kernel within this time limit, the daemon will time out and reconstruct the list. CONFIGURATION FILES Mounts of cachefs file systems performed at system startup use options supplied in /etc/config/cachefs.options. This file may contain any options for mount(1M) desired. Of particular interest is the "-m" option. This option allows the administrator to limit the number of parallel mount processes mounting cachefs file systems. This will be required on systems where some cachefs file systems fail to mount due to a lack of swap space. LIMITATIONS Mandatory file locking is not supported on cachefs. SEE ALSO cfsadmin(1M), fstab(4), systune(1M), mount(1M) Page 2