该结构体是SPDK(Storage Performance Development Kit)中用于表示NVMf(NVMe over Fabrics)目标的结构体。它包含以下字段:
- name:目标名称,以null结尾的字符串。
- mutex:互斥量,用于串行化对目标的访问。
- discovery_genctr:发现计数器,每当该目标的子系统更改时,都会增加此计数器,以通知所有正在查找该目标的主机。
- max_subsystems:该目标支持的最大子系统数。
- subsystems:指向子系统结构体指针数组的指针,大小为max_subsystems。子系统结构体定义了该目标上可用的逻辑命名空间。
- transports:该目标支持的传输协议的双向链表。每个传输协议结构体包含使用其协议的连接和传输层驱动程序。
- poll_groups:该目标的所有轮询组的双向链表。每个轮询组结构体包括一个事件通知机制和一组已注册的连接。
- next_poll_group:下一个将被分配给连接的轮询组指针。这用于在多个轮询组之间进行循环分配连接。
- destroy_cb_fn:当目标销毁时将调用的回调函数指针。
- destroy_cb_arg:传递给destroy_cb_fn的参数。
- link:将该结构体插入到全局目标列表中时使用的指针。该列表用于迭代所有目标以进行发现操作。