fixfdmn(8)fixfdmn(8)NAMEfixfdmn - Checks and repairs corrupted AdvFS domains.
SYNOPSIS
/sbin/advfs/fixfdmn [-m type[,type]...] [-d directory] [-v number] [-a
[-c] | -n] [-s {y | n}] domain [fileset]
/sbin/advfs/fixfdmn -u directory domain
OPTIONS
Specifies that after repairing what it can, fixfdmn attempts to acti‐
vate the domain at the end of the run. This option cannot be used with
the -n option. Removes any clone filesets. This option is only valid
if used with the -a option. Specifies a directory to which fixfdmn
writes the message log and undo files. Specifies a list of types of
metadata to be operated on. If you do not specify -m, the utility
checks all types by default. Corrects the bitmap metadata table (BMT).
Verifies that directory metadata is correct. Corrects frag file groups
and free lists and ensures that all file frags reside in the frag file.
Resets the transaction log so it is not processed. Checks and corrects
sizes of quota files. Synchronizes the storage bitmap (SBM) to the
information in the BMT. Corrects the AdvFS magic number and synchro‐
nizes data across volumes (for example, volume numbers, mount ids,
mount states, domain ids, and so on.) Specifies that fixfdmn checks
the domain and does no repairs. It reports problems found and how it
would fix them. Although fixfdmn might report that it has fixed or cor‐
rected something, it will not save those fixes to disk. See DESCRIPTION
for more information. Specifies that “yes” or “no” should be answered
to prompts when run from a script. Restores the domain to its previous
state by undoing the effects of the last run of fixfdmn, using the most
recent undo files in the specified directory. Specifies the verbose
mode level that controls the messages printed to stdout.
0 Only error messages
1 (Default) Progress, errors and summary messages
2 Progress messages, detailed error messages, fix information
and summary messages
OPERANDS
The name of a corrupted domain to repair. The name of a fileset to
repair.
DESCRIPTION
The fixfdmn utility checks and repairs corrupt AdvFS domains and file‐
sets. Only on-disk metadata is repaired, as there is currently no way
to check or repair the contents of user files.
Because the fixfdmn utility keeps all the original disk blocks that it
changes in a file, you can restore your domain to its original state by
running the command with the -u (undo) option. You can also run
fixfdmn with the -n option to check for errors without repairing the
domain.
The fixfdmn utility is primarily concerned with fixing problems that
have a limited scope. When a large portion of the domain is corrupted,
there is very little fixfdmn can do, so it recommends restoring data
from backup or running the salvage command.
After major areas of metadata are checked, and if a corruption was
fixed, fixfdmn prompts the user to determine if it should look for
additional corruptions.
If fixfdmn cannot recover the metadata for a specific file, the file
may be truncated, moved, or deleted. The fixfdmn utility attempts to
save as much of a file as possible.
If the -d option is not used, the message log and undo files are put in
the current working directory. The message log file is named
fixfdmn.<domain>.log and the undo files are named undo.<domain>.<#> and
undoidx.<domain>.<#>, where # is a number to be appended to a file
name to make it unique. The numbers are rotated sequentially from 0
(zero) through 9 if multiple undo files are created for the same
domain. The undo file has the same ending number as its corresponding
undo index file.
Every page that fixfdmn changes is saved to an undo file. If you do not
like the results of running fixfdmn, undo the changes by running
fixfdmn again with the -u option. If the file system containing the
undo files runs out of space during the fixfdmn run, you are prompted
how to proceed. You can continue the undo process by adding more space
to the domain, or you can exit.
When the fixfdmn utility finds a corruption it needs to correct, it
will use an in-memory cache to save the change it intends to make. It
does not actually write anything to disk until after it has written the
complete undo file, however it may print messages saying that it has
“fixed” or “corrected” something meaning that it has made those fixes
or corrections in memory. When the -n option is specified, this final
step of saving the changes to disk does not happen.
Use the -m option when you have information from a system/domain panic
or output from verify or other tools that indicates where the corrup‐
tion may be. This option limits the scope of what is checked and
repaired, and therefore takes less time to complete.
NOTES
The fixfdmn utility clears the transaction log, even on a non-corrupt
domain.
The fixfdmn command opens the block devices specified for the volumes.
There must be a domain entry for the domain you are fixing in the
/etc/fdmns directory.
If you need to repair the root domain, you must boot from CD-ROM and
create the entry for the root domain under the /etc/fdmns directory.
If fixfdmn detects an error in a clone fileset, the clone is marked out
of sync and should not be used. If the fixfdmn utility fixes corrup‐
tions in a fileset, it is possible that some free slots in the frag
file of that clone's original fileset are not listed as free. While
this is a corruption, the only negative consequence is wasted disk
space. A second run of fixfdmn cleans this up.
RESTRICTIONS
You must be root user to run fixfdmn.
All filesets must be unmounted.
Although fixfdmn may report success, it does not guarantee that all
corruptions have been eliminated.
If a domain is mounted and written to after being repaired by fixfdmn,
using the fixfdmn utility with the -u (undo) option is likely to cause
corruptions.
If you specify a domain, valid types for the fixfdmn-m option are
bmt, files, frag, log, quota, sbm, and sync. If you specify a fileset
and a domain, then sync, log, sbm, and bmt are invalid.
EXIT STATUS
Success Unable to repair all found corruptions Program or system error
FILES
Contains AdvFS domain directories and locks.
SEE ALSO
Commands: salvage(8), umount(8), verify(8), vrestore(8)fixfdmn(8)