volprint(8) System Manager's Manual volprint(8)
NAME
volprint - Displays records from the Logical Storage Manager configuration
SYNOPSIS
/sbin/volprint [-AvpsdGhnlafmtqQ] [-g diskgroup] [-e pattern] [-D database] [-F [type:] format-spec] [name...]
/sbin/volprint [-SAq] [-g diskgroup]
OPTIONS
The following options are recognized: Displays configuration summary information. The output consists of a header line followed by a line
containing the total number of subdisks, plexes and volumes; the number of unassociated subdisks; and the number of unassociated plexes.
Prints records from all active (imported) disk groups. Each disk group represented in the output is separated from other disk groups by
blank lines. A short header line introduces each disk group. Displays records from the specified disk group. The diskgroup option argument
can be either a disk group name or disk group ID. If used with the -n option, displays volume names only. If used without the -n option,
displays volumes and their hierarchies (associated plexes and subdisks). If used with the -e option, the database records matched will pri-
marily be reduced to volumes. If a name operand names a plex or subdisk, a diagnostic is written to the standard error output. If used
with the -n option, displays plex names only. If used without the -n option, displays plexes and their hierarchies (associated subdisks).
If used with the -e option, the database records matched will primarily be reduced to plexes. If a name operand names a volume or subdisk,
a diagnostic is written to the standard error output. Displays only subdisks. If a name operand names a volume or plex, a diagnostic is
written to the standard error output. Displays only disk media records. Displays only disk group records.
Note
The -v, -p, -s, -d, and -G options may be combined to specify that more than one record type is allowed. Specifying all these
options is equivalent to the default behavior. Uses a volume configuration search expression to select records to be displayed. See
vol_pattern(4) for a description of search patterns. Lists complete hierarchies below selected records. For volumes, this list
includes all associated plexes and subdisks. For plexes, this list includes all associated subdisks. Hierarchies are separated in
the output by a blank line. Each object listed occupies its own line. The order of output is a volume name, followed by one associ-
ated plex, followed by all of the subdisks for that plex, followed by another associated plex, followed by all of the subdisks for
the second plex, and so on.
The -v, -p, and -s options limit the selection only of the head of a hierarchy. They do not prevent the display of associated
records through the -h option.
Unless objects are named explicitly with name operands, a record is never displayed in two separate hierarchies. Thus, a selected
plex is not displayed as a separate hierarchy if the volume that is associated with the plex is also selected. Displays only the
names of selected records. Displays all information from each selected record. This information is in a free format that is not
intended for use by scripts. This format is more convenient than the -m format for looking at records directly, because the density
of information is more appropriate for human viewing. Displays all information about each selected record, one record per line. The
format is the same as for the -m option, except that the -a option format appears on a single line with one space character between
each field, and the list of associated records is not displayed. This format is useful for processing output through filters such as
sed and grep that operate exclusively on one-line records, although the fields are not readily distinguishable. It isn't a practi-
cal format from the viewpoint of human readability. Displays all information about each selected record in a format that is useful
as input to both the volmake utility and to awk scripts. The format used is the volmake description format (see volmake(4)). In
addition to record information, the list of plex or subdisk records associated with selected volume or plex records is displayed.
Each field is output on a separate line, indented by a single tab ('\t'). Values for fields that contain comment-style strings are
always preceded by one double-quote character ('"') and terminated with the end-of-line character ('\n'). Displays information
about each record as one-line output records containing the following fields, from left to right: Record type Record name Usage-
type, volume association, or plex association (or - for unassociated plexes and subdisks) Enabled state (or - for subdisks, disks,
or disk groups) Length, in units of system sectors Plex association offset (or - for volumes, plexes, disks, or disk groups). This
field will appear as LOG for log subdisks. Usage-dependent state (or - for subdisks). If an exception condition is recognized (a
plex I/O failure, removed or inaccessible disk, or an unrecovered stale data condition), that condition is listed instead of any
usage-type-dependent state. The tutil[0] field. This field is set by usage-types as a lockout mechanism. The putil[0] field. This
field can be set to prevent associations of plex or subdisk records.
A one-line header is written before any record information. Prints single-line output records that depend upon the configuration
record type.
For disk groups, the output consists of the following fields, in order from left to right: Record type (dg) Disk group name Number
of configuration copies to enable Number of log copies to enable Base number for minor of device Disk group ID
For disk media records, the output consists of the following fields, in order from left to right: Record type (dm) Record name
Underlying disk access record Disk access record type (sliced, simple, or nopriv) Length of the disk's private region Length of the
disk's public region Usage-dependent state (or -)
For subdisks, the output consists of the following fields, from left to right: Record type (sd) Record name Associated plex, or a
dash (-) if the subdisk is dissociated Name of the disk media record used by the subdisk Device offset in sectors Subdisk length in
sectors Plex association offset, optionally preceded by subdisk column number for subdisks associated to striped plexes, LOG for log
subdisks, or the putil[0] field if the subdisk is dissociated. The putil[0] field can be non-empty to reserve the subdisk's space
for non-volume uses. If the putil[0] field is empty, a dash (-) is displayed for dissociated subdisks. Underlying device name. A
string representing the state of the subdisk (ENA if the subdisk is usable; DIS if the subdisk is disabled; RCOV if the subdisk is
part of a RAID-5 plex and has stale content; DET if the subdisk has been detached; KDET if the subdisk has been detached in the ker-
nel due to an error; RMOV if the media record on which the subdisk is defined has been removed from its disk access record by a
utility; or NDEV if the media record on which the subdisk is defined has no access record associated).
For plexes, the output consists of the following fields, from left to right: Record type (pl) Record name Associated volume, or a
dash (-) if the plex is dissociated Plex kernel state Plex utility state. If an exception condition is recognized on the plex (an
I/O failure, a removed or inaccessible disk, or an unrecovered stale data condition), that condition is listed instead of the value
of the plex record's state field. Plex length in sectors Plex layout type Number of columns and plex stripe width, or a dash (-) if
the plex is not striped Plex I/O mode, either RW (read-write), WO (write-only), or RO (read-only)
For volumes, the output consists of the following fields, from left to right: Record type (v) Record name Associated usage type Vol-
ume kernel state Volume utility state Volume length in sectors Volume read policy The preferred plex, if the read-policy uses a pre-
ferred plex, or a dash (-) if not applicable to the type of its read-policy.
A header line is printed before any record information, for each type of record that could be selected based on the -v, -p, -s, and
-h options. These header lines are followed by a single blank line. Suppresses headers that would otherwise be printed for the
default and the -t and -f output formats. Suppresses the disk group header that separates each disk group. A single blank line
still separates each disk group. Sets a literal format string to use for displaying record information. If the option argument
begins with a comma-separated list of zero or more record types (sd, plex, or vol) followed by a colon, the format_spec after the
colon is used when printing the indicated record types. If no record types are specified, all record types are assumed.
The order of -F options is significant, with specifications later in the option list overriding earlier specifications. Any use of
-F overrides any other option letter specifying a type of format for the indicated record types. Thus, -F vol:format_spec can be
used with the -t option to change the format used for volumes, while still using the -t format for plex and subdisk records.
The format-spec string consists of literal text with embedded configuration record variables. Configuration record variables are
introduced with a percent sign (%). The percent sign is followed by a variable name or by a variable name and optional field width
in braces. The following formats are allowed for a variable specification:
%field_name %{field_name} %{field_name:[[-]width][*]} %{field_spec|field_spec[|...]}
The first format specifies the exact field name. The second format allows a field to be specified with immediately surrounding text
that would otherwise be taken as part of the field name. The third format allows the specification of a justification and a field
width. The fourth format allows alternate specifications to be used, either with or without justification and width specifications.
For the fourth, the first specification is used if the specified field name is applicable to the record and is non-empty; otherwise,
the next available specification is used. Any number of alternate specifications can be used.
If no field width is specified, the number of output column positions used for the field is the smallest possible to contain the
value; otherwise spaces are added in the output to make it width columns in length. A field is not truncated if the minimum number
of column positions necessary for a value is greater than width.
If a field width is specified with a leading dash (-) character, an output field is lengthened by adding spaces after the field
value, yielding a left-justified field. Otherwise, spaces are added before the value, yielding a right-justified field.
If a field width is followed or replaced by an asterisk (*) character, an unrecognized or inappropriate field yields either no out-
put for the field or a field containing all blanks. Without the asterisk, the printed field contains the dash (-) character.
One % character can be displayed by including two % characters in format-spec.
See the RECORD FIELDS section for a description of the field names that can be specified. An invalid format string may yield unex-
pected output, but does not generate an error. Gets a configuration from the specified location. The database option argument can
be one of: (Default). Gets a configuration from the volume configuration daemon. Reads a configuration from the standard input. The
standard input is expected to be in standard volmake input format.
DESCRIPTION
The volprint utility displays complete or partial information from records in Logical Storage Manager disk group configurations. Records
can be selected by name or with special search expressions (see vol_pattern(4)). Additionally, record association hierarchies can be dis-
played in an orderly fashion so that the structure of records is more apparent.
Dashes (-) are displayed in the output wherever there is no applicable record value.
If no options are specified, the default output uses -f, -h, and -A. However, specifying certain options can override -h or -A, making it
necessary to specify -h or -A explicitly with some option combinations.
By default, record information is displayed on single lines with fields for record type, name, usage type or object association, enabled
state, length, and others. A one-line header is written before the record information.
The default output includes all records for all active disk groups. Subdisks are sorted primarily by the subdisk device, secondarily by
the device offset. Plex and volume records are sorted by name.
Note
The volprint utility displays only disk group, disk media, volume, plex, and subdisk records. To display disk access records or physical
disk information, use the voldisk list operation.
RECORD FIELDS
The field names that can be used with the format_spec string of the -F option and that are produced for the -m or -a options are the same
as those that can be provided as input to the volmake utility. For a list of these field names, see volmake(4). Some additional pseudo
fields are also supported. These are: The name of the record being displayed. Because the record name is specified positionally within vol-
make description formats, the volmake utility and the -m and -a options to volprint do not explicitly provide this field name. Either dg
(disk group), dm (disk), vol (volume), plex (plex), or sd (subdisk), depending on the record being displayed. Either dg, dm, v, pl, or sd,
depending upon the record type. This pseudo variable can be used in a 2-character field, if a full 4-character field (required by rec_type)
is too large. The name of the disk group containing the record. The name of the volume or plex to which a plex or subdisk record is asso-
ciated. If the record is not associated, this field is empty. The usage type for volume records and the association name for associated
plexes and subdisks. For dissociated plexes and subdisks, this is an empty string. A comma-separated list of subdisks or plexes that are
associated with a plex or volume record. A comma-separated list of subdisks associated with a plex. Each subdisk name is followed by a
colon and the subdisk's plex association offset, in sectors. For volume records, this field is equivalent to aslist. The persistent state
for a plex or volume record, accounting for any exceptional conditions. For volume records, this displays the state field. For plex
records, this displays one of the following in the given precedence order: NODEVICE if an expected underlying disk could not be found;
REMOVED if an underlying disk is in the removed state; IOFAIL if an unrecovered I/O failure caused the plex to be detached; RECOVER if a
disk replacement left the plex in need of recovery, either from another plex or from a backup. The name of an associated volume record.
For a volume record, this is the volume's name; for a plex record, this is the associated volume's name (if any); for a subdisk record,
this is the associated volume of the associated plex (if any). The name of an associated plex record. For a plex record, this is the
plex's name; for a subdisk record, this is the associated plex's name (if any). For a striped plex, the number of columns and stripe unit
size for a plex, separated by a /, or - if the plex is not striped. For a subdisk associated with a striped plex, the column number and
column offset of the subdisk separated by a / or the plex offset (if the subdisk is associated in a non-striped plex) or - (if the plex is
not associated). For a subdisk associated with a RAID-5 plex, this will display flags relating to the status of the subdisk. An S indi-
cates that the subdisk is considered to contain stale data. A d indicates that the subdisk has been detached from the RAID-5 plex.
Displaying a Boolean value always yields on or off. If a field containing a length or offset is specified in a format_spec string, the
result is the length or offset in sectors. When the field is displayed with -m or -a, the length or offset is displayed in sectors with a
suffix of s.
EXAMPLES
The following command displays all records in all disk groups, with clearly displayed associations and with output lines tailored to each
record type:
# volprint -Ath
To simplify the output, you can add the -q option to suppress the display of header lines. The following command displays informa-
tion on all subdisks and all disk groups, in sorted order by disk:
# volprint -Gts
This form of volprint can be useful for viewing information in large configurations where all plex names are based on volume names.
The association field for each subdisk gives the plex name, and the form of the plex name usually implies a volume association. The
following command displays the names of all unassociated plexes:
# volprint -n -A -p -e !assoc
When issued from csh, the negation prefix (!) must be escaped (!). The following command displays information for all subdisks,
including the subdisk name and either the subdisk plex association offset or the putil0 field for dissociated subdisks:
# volprint -As -F "%{name:-14} %{pl_offset|putil0}"
EXIT CODES
The volprint utility exits with a nonzero status if the attempted operation fails. A nonzero exit code is not a complete indicator of the
problems encountered but rather denotes the first condition that prevented further execution of the utility.
See volintro(8) for a list of standard exit codes.
SEE ALSO
awk(1), grep(1), sed(1), volmake(4), vol_pattern(4), volinfo(8), volintro(8), volmake(8)
volprint(8)