Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fsdump(1M) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chkconfig(1M)

crontab(1)

rfind(1)

rfindd(1M)

mmap(2)

rename(2)

ndbm(3B)

fs(4)

rcsfile(4)



FSDUMP(1M)                                                          FSDUMP(1M)



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.





                                                                        Page 1





FSDUMP(1M)                                                          FSDUMP(1M)



     -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.





                                                                        Page 2





FSDUMP(1M)                                                          FSDUMP(1M)



   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






                                                                        Page 3





FSDUMP(1M)                                                          FSDUMP(1M)



     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).






                                                                        Page 4



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026