This section describes how to maintain a CacheFS file system.
If you are using the /etc/vfstab file to mount file systems, you modify the cache by editing the file system options in the /etc/vfstab file. If you are using autofs, you modify the cache by editing the file system options in the autofs maps.
When you modify a file system in the cache, you need to delete the cache and then re-create it. You might also need to reboot your machine in single-user mode, depending on how your file systems are shared and accessed.
In the following example, the cache is deleted, re-created, and then mounted again by using demandconst option specified for the /docs file system.
# shutdown -g30 -y . . . Root password for system maintenance (control-d to bypass): single-user privilege assigned to /dev/console. . . . Here is where you might be prompted to run fsck on the file system where the cache is located. # fsck /local # mount /local # cfsadmin -d all /local/mycache # cfsadmin -c /local/mycache # init 6 . . . console login: password: # mount -F cachefs -o backfstype=nfs,cachedir=/local/cache1,demandconst merlin:/docs /docs #
# cfsadmin -l /cache-directory
where /cache-directory is the name of the directory where the cache resides.
Example 19-5 Displaying Information About CacheFS File Systems
The following example shows information about the /local/mycache cache directory. In this example, the /docs file system is cached in /local/mycache. The last line displays the name of the CacheFS file system.
# cfsadmin -l /local/mycache cfsadmin: list cache FS information maxblocks 90% minblocks 0% threshblocks 85% maxfiles 90% minfiles 0% threshfiles 85% maxfilesize 3MB merlin:_docs:_docs #
To ensure that the cached directories and files remain current, the CacheFS software periodically checks the consistency of files stored in the cache. To check consistency, the CacheFS software compares the current modification time to the previous modification time. If the modification times are different, all data and attributes for the directory or file are purged from the cache. Then, new data and attributes are retrieved from the back file system.
Consistency checks can be performed only when you explicitly request checks for file systems that are mounted by using the -o demandconst option. If you mount a file system in a cache with this option, then use the cfsadmin command with the -s option to request a consistency check. By default, consistency checking is performed file by file as the files are accessed. If no files are accessed, no checks are performed. Using the -o demandconst option avoids the situation where the network is flooded with consistency checks.
For more information, see mount_cachefs(1M).
# mount -F cachefs -o backfstype=nfs,cachedir=/directory,demandconst server:/file-system /mount-point
# cfsadmin -s /mount-point
# umount /mount-point
where /mount-point specifies the CacheFS file system that you want to delete.
# cfsadmin -l /cache-directory cfsadmin: list cache FS information maxblocks 90% minblocks 0% threshblocks 85% maxfiles 90% minfiles 0% threshfiles 85% maxfilesize 3MB cache-ID #
# cfsadmin -d cache-ID /cache-directory
Indicates the name of the CacheFS file system, which is the last line of the cfsadmin -l output. For more information, see How to Display Information About a CacheFS File System. You can delete all the CacheFS file systems in a particular cache by specifying all for cache-ID.
Specifies the directory where the cache resides.
The cache ID of the file system you just deleted should be missing from the cfsadmin -l output.
# cfsadmin -l /cache-directory cfsadmin: list cache FS information maxblocks 90% minblocks 0% threshblocks 85% maxfiles 90% minfiles 0% threshfiles 85% maxfilesize 3MB #
For more information about the fields that are specified in the command output, refer to cfsadmin(1M).
# fsck -F cachefs /cache-directory
For more information, see How to Check the Integrity of a CacheFS File System.
Example 19-6 Deleting a CacheFS File System
The following example shows how to delete the file systems from the cache.
# umount /cfssrc # cfsadmin -l /cfssrc # cfsadmin -d _dev_dsk_c0t6d0s0:_cfssrc # cfsadmin -l # fsck -F cachefs /cache-directory
Use the fsck command to check the integrity of CacheFS file systems. The CacheFS version of the fsck command automatically corrects problems without requiring user interaction. You should not need to run the fsck command manually for CacheFS file systems because the fsck command is run automatically at boot time or when the file system is mounted. If you want to manually check the integrity, you can use the following procedure.
For more information, see fsck_cachefs(1M).
# fsck -F cachefs [-m -o noclean] /cache-directory
Causes the fsck command to check a CacheFS file system without making any repairs.
Forces a check on the CacheFS file systems only. Does not make any repairs.
Indicates the name of the directory where the cache resides.
Example 19-7 Checking the Integrity of CacheFS File Systems
# fsck -F cachefs /local/mycache #