spdk_nvme_probe参数含义
时间: 2023-07-04 17:21:54 浏览: 139
`spdk_nvme_probe` 函数的参数含义如下:
- `trid`:NVMe 设备的传输层 ID,用于指定设备的访问方式和地址。`trid` 是一个结构体类型,包含了以下成员变量:
- `trtype`:传输层类型,指定 NVMe 设备的传输层协议,如 PCIe、RDMA 等。
- `adrfam`:地址族,指定 NVMe 设备的地址类型,如 IPv4、IPv6 等。
- `traddr`:传输层地址,指定 NVMe 设备的传输层地址,如 PCIe 总线地址、IP 地址等。
- `trsvcid`:传输层服务 ID,指定 NVMe 设备的传输层服务 ID,如端口号等。
- `subnqn`:NVMe 设备的子系统名称,指定 NVMe 设备所属的子系统名称。
- `cb_ctx`:回调函数的上下文数据,用于传递给回调函数的额外数据。
- `probe_cb`:设备探测回调函数,在探测到 NVMe 设备时被调用。该回调函数的原型如下:
```C
int probe_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
struct spdk_nvme_ctrlr_opts *opts);
```
其中,`cb_ctx` 参数为回调函数的上下文数据,`trid` 参数为 NVMe 设备的传输层 ID,`opts` 参数为 NVMe 设备的控制器选项。该回调函数需要返回 0 表示探测成功,否则返回非 0 错误码。
- `attach_cb`:设备附加回调函数,在 NVMe 设备被附加到系统时被调用。该回调函数的原型如下:
```C
void attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
struct spdk_nvme_ctrlr *ctrlr, const struct spdk_nvme_ctrlr_opts *opts);
```
其中,`cb_ctx` 参数为回调函数的上下文数据,`trid` 参数为 NVMe 设备的传输层 ID,`ctrlr` 参数为 NVMe 设备的控制器句柄,`opts` 参数为 NVMe 设备的控制器选项。
- `remove_cb`:设备移除回调函数,在 NVMe 设备被移除时被调用。该回调函数的原型如下:
```C
void remove_cb(void *cb_ctx, struct spdk_nvme_ctrlr *ctrlr);
```
其中,`cb_ctx` 参数为回调函数的上下文数据,`ctrlr` 参数为 NVMe 设备的控制器句柄。
阅读全文