fsdump(1M)
fsdump - file system dumper for rfindd for EFS and XFS
As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.
NAME fsdump - file system dumper for rfindd for EFS and XFS SYNOPSIS cd /var/rfindd; ./fsdump [-L logfile] [-M minutes] [-Q] [-R] [-U maxrss] -F dumpfile directory DESCRIPTION fsdump is applicable to EFS and XFS filesystems. fsdump creates the dumpfile used by rfindd(1M) to respond to rfind(1) requests. The dumpfile contains: inode contents For each allocated inode in the file system mounted at directory, fsdump stores all the fields from the inode header, excluding the extent and reference count fields. directory contents For each directory in the file system that is readable by the user "rfindd", fsdump stores the inode numbers and filenames in that directory. Quick checksums If the -Q option is specified, then fsdump stores a quick checksum of the data contents of each regular file in the file system. This checksum only covers the first few bytes of each basic block (512 byte sector). RCS information If the -R option is specified, then fsdump stores the top-of-trunk version number and date for each file in the file system that has a name of the form "RCS/*,v" and contains a parsable RCS header. See rcsfile(4) for a description of such files. The following options are accepted by fsdump. -F dumpfile Tells fsdump where to write the data extracted during the run. -L logfile If specified, fsdump appends a few lines to the named logfile, containing the date of the run and some statistics about the amount of space and time consumed. -M minutes If specified, limits the number of minutes since fsdump started that fsdump will spend extracting RCS information or checksums. If either of the -Q or -R options is being used, and if fsdump is being run frequently, such as every hour, then use the -M option to tell fsdump how long it should run, before it writes out its partial results, and allows the next scheduled run to occur. -Q Requests fsdump to repeatedly compute a quick checksum on the contents of each file. fsdump prints a warning message into the logfile of the form: >>>>>> File contents corrupted !! :: <file> if the checksum changes for a file that was not modified via the file system. -R Requests fsdump to maintain the RCS top-of-trunk revision and date for each apparent "RCS/*,v" file. -U maxrss If specified, limits to maxrss kilobytes the amount of physical memory that this fsdump process can use. directory must be the directory on which is mounted the EFS or the XFS file system to be dumped. Configuration To configure the rfind services (rfindd and fsdump) on your system, perform the following: 1) If you want fsdump to update all dumpfile's on some schedule other than starting at 3 minutes past each hour, then while su'd to rfindd's uid, use the crontab(1) command to change the frequency of execution of runfsdump. The following steps can be used to edit rfindd's crontab file. a] su root b] su - rfindd c] crontab -l > crontab d] edit this crontab file e] crontab crontab 2) To change the list of file systems to be dumped, edit the file /var/rfindd/fslist. By default, the basename of the mount point of the file system is used as the dump file name. If the file system is "/", then the dump file name is taken as "root" instead. To specify a different dump file name, provide that name as the second field on its line in fslist. The logfile name is always the dump file name with the suffix ".log" added. 3) To change the options with which fsdump is invoked, edit the file /var/rfindd/fsoptions. 4) Edit the file /etc/rfind.aliases on each client system that should have access to the new rfind server. If only the localhost needs access, then this step is not needed. Strategy fsdump typically performs the following steps each run: 1) parse arguments 2) map directory to file system device 3) open read-only file system device (requires setuid "root" privileges) 4) open existing dumpfile (if any) 5) relinquish "root" privileges 6) redirect stdout/stderr to logfile (if specified) 7) determine file system parameters from super block for EFS filesystems and XFS syssgi calls for XFS filesystems. 8) Lock the entire dumpfile, to prevent simultaneous update attempts. 9) mmap(2) existing dumpfile into address space 10) read inodes from raw disk, one cylinder group at a time for EFS filesystems and in numeric order for XFS filesystems. 11) test mtime, ctime, size and gen of each inode for changes 12) maintain current uid, gid, atime, nlink and mode for all inodes 13) discard directory, RCS and quick checksums information for any changed inodes 14) close the file descriptor to the raw file system device 15) read any changed/new directories using opendir/readdir 16) rebuild secondary index on filenames 17) if -R specified and time permits, update RCS information for changed "RCS/*,v" files 18) if -Q specified and time permits, update quick checksums for all regular files 19) write new dumpfile to temporary name 20) touch the start time of the new dumpfile to the beginning time of this run 21) update the fsdump.{pag,dir} files 22) rename(2) temporary name to specified dumpfile name FILES /etc/config/rfindd chkconfig(1M) file controlling fsdump and rfindd(1M). /var/rfindd/fsdump.dir, /var/rfindd/fsdump.pag contain database (in ndbm(3B) format) of each directory and dumpfile in /var/rfindd. fsdump updates this database each run, and rfindd uses the database to map the requested directory to the dumpfile containing information about it. /var/rfindd/dumpfile The file system information extracted by fsdump is stored here for use by rfindd(1M). The first 12 lines of this file contain an ASCII header describing the remaining, binary, sections of the file. The dumpfile typically requires between 1% and 2% of the inuse space of the file system being dumped. /var/rfindd/dumpfile.log Conventional name for the logfile, as specified in the crontab invocation of fsdump. /etc/init.d/rfindd The runtime startup script, invoked by init(1M), that starts the rfindd(1M) daemon process. /usr/spool/cron/crontabs/rfindd The crontab file that invokes fsdump. /var/rfindd/rotatelogs Utility invoked from the crontab for "rfindd". Each logfile named on the command line of rotatelogs is moved to the file OLDlogfile. /var/rfindd/fslist The list of file systems to be examined by fsdump(1M). The runfsdump script uses this list. /var/rfindd/fsoptions The list of options to be passed when invoking the fsdump(1M) command. The runfsdump script uses this list. /var/rfindd/runfsdump The script, executed from cron once each hour, or as otherwise specified, which invokes fsdump on each file system listed in fslist, using the options specified in fsoptions. /var/rfindd/passwd.add Utility used by inst exitop to add the user "rfindd" to the file /etc/passwd. SEE ALSO chkconfig(1M), crontab(1), rfind(1), rfindd(1M). mmap(2), rename(2), ndbm(3B), fs(4), rcsfile(4).