unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



salvage(8)							   salvage(8)



NAME

  salvage - Recover file data from damaged AdvFS file domains

SYNOPSIS

  /sbin/advfs/salvage [-x  | -p] [-l] [-S] [-v number] [-d time] [-D direc-
  tory]	[-L path] [-o option] [-F format[-f [archive]]]	{-V special [-V	spe-
  cial]... | domain} [fileset[path]]

OPTIONS

  -d time
      Specifies	that the utility attempt to recover only those files that
      have been	modified after the time.  Specify the time as a	decimal
      number in	the following format:

      [[CC]YY]MMDDhhmm[.SS]

      The paired decimal numbers in the	format represent the following:

      CC The first two digits of the year (the century)

      YY The second two	digits of the year (00-99)

      MM The month of the year (01-12)

      DD The day of the	month (00-31)

      hh The hour of the day (00-23)

      mm The minute of the hour	(00-59)

      SS The second of the minute (00-61)

      Both CC and YY are optional.  If neither is specified, the curent	year
      is the default.  If YY is	specified but CC is not, CC is derived as
      follows:	If YY is 69-99,	CC is 19;  if YY is 00-68, CC is 20.

      The range	for SS is 00-61	rather than 00-59 because of leap seconds.
      If SS is 60 or 61	and the	resulting time (as affected by the TZ
      environment variable) does not refer to a	leap second, the resulting
      time is one or two seconds after a time where SS is 59.  SS is not a
      given value; it is assumed to be 0 (zero).

  -D directory
      Specifies	the path of the	directory to which all recovered files are
      written.	If you do not specify a	directory, the utility writes
      recovered	files to the current working directory.

  -l  Specifies	verbose	mode for messages written to the log file.  If you
      specify this option, the utility writes a	message	to the log file	for
      every file that is encountered during the	recovery.  The message
      contains the file	name and file status. You specify the path of the log
      file by using the	-L option.

      If you do	not specify this option, the utility writes a message to the
      log file only for	partially-recovered and	unrecovered files.

  -L path
      Specifies	the path of the	directory or the file name for the log file
      you choose to contain messages logged by the utility.

      When your	path specification includes a log file name, the utility uses
      that name	for the	log file.

      When your	path specification does	not include a log file name, the
      utility places the log file in that directory and	names it
      salvage.log.pid, where pid is the	process	id of the user process.

      When you do not specify this option, the utility places the log file in
      the current working directory and	names it salvage.log.pid.

  -o option
      Specifies	the action the utility takes when a file being recovered
      already exists in	the directory to which it is to	be written.

      The values for option are:

      yes Overwrite the	existing file without querying the user.  This is the
	  default action when option is	not specified.

      no  Do not overwrite the existing	file.

      ask Ask the user whether to overwrite the	existing file.

      If you do	not specify this option, the default action is to overwrite
      an existing file without querying	the user.

  -p  Specifies	that the utility identifies a partially-recovered file by
      appending	.partial to its	file name.  If you do not use this option, no
      file name	extensions are added to	partially-recovered files.

      Do not use the -p	option with the	-x option.  If you do, an error	mes-
      sage is displayed	and the	utility	exits with an exit value of 2.

  -S  Specifies	that the utility is to run in sequential search	mode, check-
      ing each page on each volume in the domain.  This	mode of	operation
      will take	a long time on large AdvFS file	domains.

      The -S option can	be used	to recover most	files from a domain which has
      been damaged from	an incorrect execution of the mkfdmn utility.  In
      some cases, the recovery will need to generate names based on the
      file's tag number.  These	cases usually happen in	the root directory,
      because mkfdmn usually overwrites	this directory.

      When you specify the -S option, there may	be a security issue, because
      the utility could	recover	old filesets and deleted files.

  -F format
      Specifies	that salvage should recover files in an	archive	format
      instead of directly to a filesystem.  The	only legitimate	value for
      format is	tar.

  -f [archive]
      The salvage command uses the next	argument as the	name of	the archive,
      or /dev/tape/tape0_d1 if archive is not specified.  If the name of the
      file is -	(dash),	salvage	writes to standard output.

  -v number
      Specifies	the type of messages directed to stdout.  If you do not
      specify this option, the default is to direct only error messages	to
      stdout.  If you specify n	to be 1, both errors and the names of
      partially-recovered files	are directed to	stdout.	 If you	specify	n to
      be 2, error messages and the status of all files as they are recovered
      are directed to stdout.

  -V special [-V special]...
      Specifies	the block device special file names of volumes in the domain,
      for example, /dev/disk/dsk3c.  The utility attempts to recover files
      only from	the volumes you	specify.

      If you do	not specify the	-V option, you must specify the	domain
      operand so that the utility can obtain the special file names of the
      volumes in the domain from the /etc/fdmns	directory.

      Do not use this option with the domain operand.  If you do, an error
      message is displayed and the utility exits with an exit value of 2.

  -x  Specifies	that partially-recoverable files are not to be recovered.  If
      you do not use this option, partially-recoverable	files are recovered.

      Do not use the -x	option with the	-p option.  If you do, the utility
      displays an error	message	and exits with an exit value of	2.

OPERANDS

  domain
      Specifies	the name of an existing	AdvFS file domain from which filesets
      are to be	recovered.  Use	this parameter when you	want the utility to
      obtain volume information	from the /etc/fdmns directory.	The volume
      information used by the utility consists of the device special file
      names of the AdvFS volumes in the	file domain.  When the domain operand
      is specified without optional arguments, the utility attempts to
      recover the files	in all filesets	in the domain.

      Do not use this operand when you want to use the -V special option to
      specify device special file names	of AdvFS volumes.  If you do, the
      utility displays an error	message	and exits with an exit value of	2.

  fileset [path]
      Specifies	the name of a fileset to be recovered from a domain or a
      volume.

      Specify path to indicate the path	of a directory or file in a fileset.
      When you specify a path that is a	directory, the utility attempts	to
      recover only the files in	that directory tree, starting at the speci-
      fied directory. When you specify a path that is a	file, the utility
      attempts to recover only that file.

      Specify path relative to the mount point of the fileset.

DESCRIPTION

  The salvage utility helps you	recover	file data after	an AdvFS file domain
  has become unmountable due to	some type of data corruption. Errors that
  could	cause data corruption of a file	domain include I/O errors in file
  system metadata, the accidental removal of a volume, or any I/O error	that
  produces a panic.

  Use the salvage utility as a last resort. You	should first repair domain
  structures by	using the verify utility.  If that repair method is unsatis-
  factory, attempt to recover fileset data from	backup media.  Only if both
  methods are unsatisfactory should you	employ the salvage utility.


  Space	Needed By salvage


  As the utility recovers files, it writes temporary files to a	subdirectory
  of the recovery directory, and uses these files to process the on-disk
  structures it	is reading.  The utility deletes these temporary files when
  it exits.

  Format of Log	File Messages


  The following	are log	file message formats: The general format is:

       fileset/file : uid : gid	: size : bytes recovered : type	: file status...

  For example, for a regular file:

       user_fs/data.file : 3500	: 15 : 56116 : 56116 : REG : file successfully \
	       recovered

  For example, for a directory:

       user_fs/data/ : 3500 : 15 : 8192	: 8192 : DIR : file successfully \
       recovered

  For a	file and a directory, when its name cannot be found:

       user_fs/data.file.lost+found/tag_12345 :	0 : 10 : 24576 : 24576 : REG :\
	       filename	not recovered

       user_fs/data/lost+found/tag_54321/ : 0 :	10 : 8192 : 8192 : DIR :\
	       directory not recovered

  For a	file, when the ending fragment cannot be found:

       user_fs/data.file : 3500: 15 : 56116 : 55092 : REG : file truncated by \
	       1024 bytes

  For a	file, when not all the file's pages can	be recovered:

       user_fs/data.file : 3500	: 15 : 1646592 : 24576 : REG : Incomplete file,\
	       hole between bytes MMMMM	and NNNNN, bytes XXXXX and YYYYY

  For a	file, when it has an entry in a	directory but cannot be	found on
  disk:

       user_fs/data.file : 3500	: 15 : 56116 : 0 : REG : Unable	to locate file

NOTES

  The salvage utility opens and	reads block devices directly and could
  present a security issue if it recovers data remaining from previous AdvFS
  file domains while attempting	to recover data	from current AdvFS file
  domains.

  The salvage utility can be run in single-user	mode, without mounting other
  file systems.	 The salvage utility is	available from the UNIX	Shell option
  when you are booting from the	Tru64 UNIX Operating System Volume 1 CD-ROM.

  The salvage utility can find metadata	on disk	that appears valid but might
  not be:  in most cases, the utility can determine when this suspect meta-
  data should be used or ignored.  One of these	problems that the utility
  cannot detect	is the situation when the metadata contains a tag number that
  could	be valid on a very large fileset, but is invalid for common filesets.
  In this case,	the utility creates a partial file in the lost+found
  directory.

  The salvage utility has a builtin soft limit on the number of	valid tags in
  a fileset:  10,000,000 tags.	If an application should exceed	this soft
  limit, the user is prompted about increasing the limit. For example:

       salvage:	 Current soft-limit on tag array 10000000; increase size \
	       to 538977250?

  If you answer	y to the prompt, the soft limit	is increased to	the new
  value. If you	answer n to the	prompt,	the hard limit is set to the new
  value	and you	will not be prompted for tabs larger than this new limit.

  If increasing	this limit causes a memory error, rerun	the utility without
  increasing the limit.

RESTRICTIONS

  You must be the root user to use the salvage utility.

  Before using the salvage utility, all	filesets in the	domain you are trying
  to recover probably have been	already	unmounted.  However, use the
  umount(8) command to ensure that the filesets	are unmounted. If all
  filesets are not unmounted, the utility displays an error message exits
  with an exit value of	2.

EXIT STATUS

  The exit values for the salvage utility are:

  0   Success

  1   Partial recovery

  2   Failure, including command line syntax errors

ERRORS

  The salvage utility error diagnostics	cause the utility to exit with an
  exit code of 2.  The diagnostics are:

    +  salvage:	Error -	Out of memory

       Explanation:

       The utility does	not have enough	memory

    +  salvage:	Error -	No such	file or	directory

       Explanation:

       The file	or directory you specified could not be	found on the device
       specified.

    +  salvage:	Error -	I/O error

       Explanation:

       An I/O error occurred during the	salvage	operation.

    +  salvage:	Error -	No space left in recovery directory

       Explanation:

       The directory to	which the recovered files are written is full.


EXAMPLES

   1.  The following example shows a salvage command that uses all the
       defaults	to recover all files from the AdvFS file domain	named
       user_domain.  Other results include:

	 +  A log file named salvage.log.pid is	written	to the fixit direc-
	    tory

	 +  The	files that are recovered from the user_domain are also writ-
	    ten	to the fixit directory

	 +  Partially-recoverable files	are recovered.	These files are	writ-
	    ten	to the fixit directory.	 The extension .partial	is not
	    appended to	the name of each file.
       # cd /fixit
       # /sbin/advfs/salvage -p	9611200000 user_domain

   2.  The following example shows a salvage command that uses the -d option
       to recover all the file in the domain user_domain that have been
       changed after that date.
	    # cd /fixit
	    # /sbin/advfs/salvage -d 9611200000	user_domain

   3.  The following example shows a salvage command that recovers the file
       data.file, whether or not it is only partially recoverable, from	the
       fileset user_fileset on the volume mounted as /dev/disk/dsk3c.

       The data.file file is written to	the recovery directory and logged in
       the log file only if it was partially recovered.
	    # cd /fixit
	    # /sbin/advfs/salvage -V /dev/disk/dsk3c user_fileset/data.file

   4.  The following example shows a salvage command that recovers the file
       data.file, only if it is	fully-recoverable, from	the fileset
       user_fileset on the domain user_domain.

       The data.file file, if it is not	recovered, is logged in	the log	file.
       Otherwise, it is	written	to the recovery	directory.
	    # cd /fixit
	    # /sbin/advfs/salvage -x user_domain user_fileset/data.file



FILES

  /etc/fdmns
      Contains AdvFS file domain names and devices

  /etc/fstab
      Contains static information about	file systems and filesets

SEE ALSO

  Commands:  umount(8),	verify(8), vrestore(8)

  Files:  fdmns(4)