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 with the demandconst option specified for the /docs file system.
# shutdown -g30 -y . . . Type Cntrl-d to proceed with normal startup, (or give root password for system maintenance): # enter password: . . . 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 # |
Become superuser on the client system.
Display information about all file systems cached under a specified cache.
# cfsadmin -l /cache-directory |
/cache-directory is the name of the directory where the cache resides.
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. And, 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 with -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).
Become superuser on the client system.
Mount the file system in the cache and specify cache consistency checking.
# mount -F cachefs -o backfstype=nfs,cachedir=/directory,demandconst server:/file-system /mount-point |
Initiate consistency checking on a specific CacheFS file system.
# cfsadmin -s /mount-point |
Become superuser on the client system.
Unmount the CacheFS file system.
# umount /mount-point |
/mount-point specifies the CacheFS file system that you want to delete.
Determine the name of the CacheFS file system (cache ID).
# 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 # |
Delete the CacheFS file system from the specified cache.
# cfsadmin -d cache-ID /cache-directory |
cache-ID |
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. |
/cache-directory |
Specifies the directory where the cache resides. |
Verify that the file system has been deleted.
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).
Update the resource counts for the cache by running the fsck -F cachefs command.
For more information, see How to Check the Integrity of 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 |
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).
Become superuser on the client system.
Check the file systems in the specified cache.
# fsck -F cachefs [-m -o noclean] /cache-directory |
-m |
Causes the fsck command to check a CacheFS file system without making any repairs. |
-o noclean |
Forces a check on the CacheFS file systems only. Does not make any repairs. |
/cache-directory |
Indicates the name of the directory where the cache resides. |
The following example shows how to check the file systems cached in the /local/mycache cache.
# fsck -F cachefs /local/mycache # |