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