vxinfo(7) VxVM 3.5 vxinfo(7)
1 Jun 2002
NAME [Toc] [Back]
vxinfo - VERITAS Volume Manager general information device
SYNOPSIS [Toc] [Back]
/dev/vx/info
DESCRIPTION [Toc] [Back]
The vxinfo device in VERITAS Volume Manager (VxVM) gathers performance
statistics from the kernel for a supplied object. Statistics can be
retrieved for volume, plex, subdisk, and disk media objects.
Statistics can also be cleared through this interface.
IOCTLS [Toc] [Back]
The format for calling each ioctl command is:
#include <sys/types.h>
#include <vvxvm/volstats.h>
struct tag arg;
int ioctl (int fd, int cmd, struct tag *arg);
The value of cmd is the ioctl command code, and arg is usually a
pointer to a structure containing the arguments that need to be passed
to the kernel.
The return value for all the ioctls, with some exceptions, is 0 if the
command was successful, and -1 if it was rejected. If the return
value is -1, errno is set to indicate the cause of the error.
The following ioctl commands are supported:
GET_DAEMON [Toc] [Back]
This ioctl returns the process ID of the process with the
dev/vx/config device open, or 0 if the dev/vx/config device is
closed. The value of arg is undefined and should be NULL.
GET_VOLINFO [Toc] [Back]
This command accepts a pointer to a volinfo structure as an
argument. It fills in the volinfo structure with the
corresponding values from the kernel. The members of a volinfo
structure are:
long version; /*kernel version number*/
long max_volprivmem; /*max size of volprivmem area*/
major_t volbmajor; /*volume blk dev major number*/
major_t volcmajor; /*volume char dev major number*/
major_t plexmajor; /*plex device major number*/
long maxvol; /*max # of volumes supported*/
long maxplex; /*max # of associated plexes*/
long plexnum; /*max plexes per volume*/
long sdnum; /*max subdisks per plex*/
long max_ioctl; /*max size of ioctl data*/
- 1 - Formatted: January 24, 2005
vxinfo(7) VxVM 3.5 vxinfo(7)
1 Jun 2002
long max_specio; /*max size of ioctl I/O op*/
long max_io; /*max size of I/O operation*/
long vol_maxkiocount; /*max # top level I/Os allowed*/
long dflt_iodelay; /*default I/O delay for utils*/
long max_parallelio; /*max # voldios allowed*/
long voldrl_min_regionsz;/*min DRL region size*/
long voldrl_max_drtregs; /*max # of DRL dirty regions*/
long vol_is_root; /*if set, root is volume*/
long mvrmaxround; /*max round-robin region size*/
long prom_version; /*PROM version of the system*/
long vol_maxstablebufsize;/*max size of copy buffer*/
size_t voliot_iobuf_limit; /*max total I/O trace buf spc*/
size_t voliot_iobuf_max; /*max size of I/O trace buffer*/
size_t voliot_iobuf_default;/*default I/O trace buf size*/
size_t voliot_errbuf_default;/*default error trace buf size*/
long voliot_max_open; /*max # of trace channels*/
size_t vol_checkpt_default;/*default checkpoint size*/
long volraid_rsrtransmax;/*max # of transient RSRs*/
VOL_CLR_IO_STATS [Toc] [Back]
This command accepts a pointer to a vol_io_stats_list structure
as an argument and will clear the kernel statistics for the
identified objects.
VOL_GET_IO_STATS [Toc] [Back]
This command accepts a pointer to a vol_io_stats_list structure
as an argument so that a single ioctl can operate on any
reasonable number of objects. The ioctl then fills in the
performance statistics for the objects whose IDs appear in the
structure.
The members of the vol_io_stats_list structure are:
size_t vsl_nobject; /*# of objects*/
struct vol_io_stats /*vsl_stats;*/
The members of the vol_io_stats structure are:
volrid_t vs_dg_iid; /*disk group rid*/
volrid_t vs_rid; /*vs_rid;*rid of object*/
int vs_object_type; /*object type*/
size_t vs_stats_size; /*size of stats buffer*/
structure vol_stats /*vs_stats; *stats buffer*/
The vs_dg_iid field identifies the disk group in which the vs_rid
object exists.
Most statistics are formed as a concatenation of the vol_stats
structure. The members of the vol_stats structure are:
- 2 - Formatted: January 24, 2005
vxinfo(7) VxVM 3.5 vxinfo(7)
1 Jun 2002
size_t vs_op; /*count of I/O operations*/
size_t vs_fail_op; /*count of failed I/Os*/
size_t vs_blocks; /*total blocks of I/O*/
time_t vs_time; /*accumulated I/O times*/
The vol_io_stats_list, vol_io_stats, and vol_stats structures are
defined in the </usr/include/vxvm/volstats.h> header file.
DIAGNOSTICS [Toc] [Back]
The following errors are returned by the VOL_GET_IO_STATS and
VOL_CLR_IO_STATS ioctls:
EFAULT A pointer passed to the kernel was invalid, causing a
bad memory reference.
ENOENT The supplied vs_dg_iid does not match any existing
imported disk groups, or the supplied vs_rid object
could not be found.
FILES [Toc] [Back]
/dev/vx/info VERITAS Volume Manager information
device.
SEE ALSO [Toc] [Back]
vxintro(1M), ioctl(2), vxconfig(7), vxio(7)
- 3 - Formatted: January 24, 2005 [ Back ] |