/dev/vx/info
Statistics can also be cleared through this interface.
#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 these ioctls, with some exceptions, is 0 if the command was successful, and -1 if it was rejected. If the return value is -1, then errno is set to indicate the cause of the error.
The following ioctl commands are supported:
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 */ 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 region s*/ 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 */
size_t vsl_nobject; /* # of objects */ struct vol_io_stats vsl_stats; /* list of objects */
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 */
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 */