Solaris 动态跟踪指南

devinfo_t

devinfo_t 结构提供有关设备的信息。startdonewait-startwait-done 探测器中的 args[1] 指向对应于 I/O 的目标设备的 devinfo_t 结构。devinfo_t 的成员如下所示:

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

dev_major 字段是设备的主要编号。有关更多信息,请参见 getmajor(9F)

dev_minor 字段是设备的次要编号。有关更多信息,请参见 getminor(9F)

dev_instance 字段是设备的实例编号。设备实例不同于次要编号。次要编号是由设备驱动程序管理的抽象对象。实例编号是设备节点的一个属性。可使用 prtconf(1M) 来显示设备节点实例编号。

dev_name 字段是用于管理设备的设备驱动程序的名称。可使用 prtconf(1M)-D 选项显示设备驱动程序名称。

dev_statname 字段是 iostat(1M) 报告的设备名称。此名称同时对应于 kstat(1M) 报告的内核统计信息的名称。提供此字段是为了便于快速地将异常的 iostatkstat 输出与实际 I/O 活动相关联。

dev_pathname 字段是设备的完整路径。此路径可指定为 prtconf(1M) 的参数,以获取详细的设备信息。dev_pathname 指定的路径包括用于表示设备节点、实例编号和次要节点的组件。但是,不必在统计信息名称中表示所有这三个元素。对于某些设备,统计信息名称由设备名称和实例编号组成。对于其他设备,统计信息名称则由设备名称和次要节点编号组成。因此,具有相同 dev_statname 的两个设备的 dev_pathname 可能会不同。