The devinfo_t structure provides information about a device. The devinfo_t structure that corresponds to the destination device of an I/O is pointed to by args[1] in the start, done, wait-start, and wait-done probes. Detailed information about this data structure can be found in /usr/lib64/dtrace/version/io.d. The definition of devinfo_t is as follows:

typedef struct devinfo {
  int dev_major;           /* major number */
  int dev_minor;           /* minor number */
  int dev_instance;        /* not supported */
  string dev_name;         /* name of device */
  string dev_statname;     /* name of device + instance/minor */
  string dev_pathname;     /* pathname of device */
} devinfo_t;

DTrace translates the members of devinfo_t from the buffer_head for the Oracle Linux I/O request structure.

dev_major: Is the major number of the device.

dev_minor: Is the minor number of the device.

dev_name: Is the name of the device driver that manages the device.

dev_statname: Is the name of the device as reported by iostat. This field is provided so that aberrant iostat output can be quickly correlated to actual I/O activity.

dev_pathname: Is the full path of the device. The path that is specified by dev_pathname includes components expressing the device node, the instance number, and the minor node. However, note that all three of these elements are not necessarily expressed in the statistics name. For some devices, the statistics name consists of the device name and the instance number. For other devices, the name consists of the device name and the number of the minor node. As a result, two devices that have the same dev_statname migh differ in their dev_pathname.