verify - Checks the AdvFS on-disk metadata structures
/sbin/advfs/verify [-l | -d] [-v | -q] [-t] [-a | -f]
[-F] [-D] domain_name
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 recovery 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.
Specifies the file domain.
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 table (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.
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 occurring, 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 system (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 performed, 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 conflicts for frag files. Running
the verify command with the -D option will skip the
frag file setID checks.
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.
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 verify 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
SEE ALSO
Commands: fsck(8), mount(8), showfdmn(8), showfsets(8),
showfile(8)
Files: advfs(4)
verify(8)
[ Back ] |