verify(8)verify(8)NAMEverify - Checks the AdvFS on-disk metadata structures
SYNOPSIS
/sbin/advfs/verify [-l | -d] [-v | -q] [-t] [-a | -f] [-F] [-D]
domain_name
OPTIONS
Checks an active domain. All filesets in the domain must be mounted.
Deletes lost files (that is, files with no directory entry). Checks a
domain that has been previously mounted with the -o dual option of the
mount command. Attempts to fix some corruptions found in the domain;
deletes any directory entries that do not have associated files;
deletes files that have storage bitmap or extent map problems; corrects
some inconsistencies in a storage bitmap. Use this option with caution
only when the domain's fileset(s) will not mount and running verify
without the -F option exits with the message “verify: can't get set
info for domain”.
When the -F option is used, AdvFS reinitializes the domain
transaction log without recovery. As a result, no domain recov‐
ery will occur for previously incomplete operations (which can
cause data corruption). Creates a hard link to a lost file in
the /<mountpoint>/lost+found directory. Prints minimal file
status information. Displays the mcell totals. Prints file
status information. Selecting this option slows down the verify
procedure and creates a large volume of output information.
OPERANDS
Specifies the file domain.
DESCRIPTION
The verify command mounts all the filesets in a domain at temporary
mount points to process them and unmounts them when finished. If you
have chosen the -a option, existing mount points will be retained.
The command checks on-disk structures such as the bitfile metadata ta‐
ble (BMT), the storage bitmaps, the tag directory, and the frag file
for each fileset. It verifies that the directory structure is correct
and that all directory entries reference a valid file (tag) and that
all files (tags) have a directory entry.
The verify command checks the storage bitmap for double allocations and
missing storage. It checks that all mcells in use belong to a bitfile
and that all bitfiles have all of their mcells.
The verify command checks the consistency of free lists for mcells and
tag directories. It checks that the mcells pointed to by tags in the
tag directory match the corresponding mcells.
For each fileset in the specified file domain, the verify command
checks the frag file headers for consistency. For each file that has a
fragment, the frag file is checked to ensure that the frag is marked as
in use.
RESTRICTIONS
You must be the root user to use this command.
If you want to run the verify command on the root file domain, choose
the -a option to view diagnostic warnings, or boot from another disk or
installation CD and use the -f or -d option as shown in the Example
section.
It is recommended that you run the verify command with the -f option
and unmount all filesets in the file domain. This option attempts to
repair certain types of metadata inconsistencies and allows the most
complete recovery.
If you choose the -a option, not all verification tests will be run and
no fixes will be made. In addition, if file system activity is occur‐
ring, the verify command may report erroneous diagnostic warnings. This
is because the utility cross-checks metadata files and, if these are
changing, inconsistencies may appear that do not actually exist.
Therefore, if you choose the -a option, it is a good idea to run in
single-user mode, if possible, and to restrict system activity.
If you run the verify command on a fileset that has any other file sys‐
tem (AdvFS or otherwise) mounted on it, an error may result. If you
have a fileset erroneously labeled as UFS and it overlaps a fileset
labeled AdvFS, an error results. You can recover from this error by
changing the erroneously-labeled fileset's fstype field from ufs to
unused with the disklabel -s command. After changing the disk label,
run the verify command.
If the -F option is specified, the verify command mounts the fileset
using the mount command with the -d option. Because no recovery is per‐
formed, your file domain may become inconsistent.
Choose the -D option to run the verify command if the file domain has
ever been dual mounted. Running the verify command without the -D
option on a domain that has been dual mounted will report setID con‐
flicts for frag files. Running the verify command with the -D option
will skip the frag file setID checks.
EXIT STATUS
The verify utility returns a 0 (zero) on success if it did not find any
corruption and a positive integer on success if it did find corruption.
The verify utility returns a -1 on failure.
EXAMPLES
The following example verifies the file domain dmnx with the filesets
setx and sety: # /sbin/advfs/verify dmnx
+++ Domain verification +++
Domain Id 2f9eb70a.000f1db0
Checking disks ...
Checking storage allocated on disk /dev/disk/dsk10g
Checking storage allocated on disk /dev/disk/dsk10a
Checking mcell list ...
Checking mcell position field ...
Checking tag directories ...
+++ Fileset verification +++
+++ Fileset setx +++
Checking frag file headers ...
Checking frag file type lists ...
Scanning directories and files ...
300 Scanned 307 directories.
Scanning tags ...
1100 Scanned a total of 1135 tags.
Searching for lost files ...
1100 Searched 1135 tags, no lost files found.
+++ Fileset sety +++
Checking frag file headers ...
Checking frag file type lists ...
Scanning directories and files ...
900 Scanned 911 directories.
Scanning tags ...
5100 Scanned a total of 5173 tags.
Searching for lost files ...
5100 Searched 5173 tags, no lost files found. #
To run the verify command with either the -f or -d options on a root
domain, you must boot off another disk or CD-ROM as follows: Boot from
your installation CD then exit the installation to the UNIX shell or
boot from another system disk. Change to the /etc/fdmns directory:
# cd /etc/fdmns Create a temporary domain directory:
# mkdir verify_root Change to the newly created directory:
# cd verify_root Create a symbolic link in this directory to the
disk partition that contains the domain you wish to run the ver‐
ify command on:
# ln -s /dev/disk/dsk3a dsk3a Change back to the root directory
(/):
# cd / Run the verify command on the temporary domain:
# /sbin/advfs/verify -f verify_root Delete the temporary domain
# rm -rf /etc/fdmns/verify_root
FILESSEE ALSO
Commands: fsck(8), mount(8), showfdmn(8), showfsets(8), showfile(8)
Files: advfs(4)verify(8)