This patch adds support for the nvmet discovery_change transport op. In turn, the transport adds it's own LLDD api callback discovery_event op to request the LLDD to generate an RSCN for the discovery change.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -791,6 +791,11 @@ struct nvmet_fc_target_port { · 790 unmodified lines | |||
| 791 | * nvmefc_tgt_fcp_req. | 791 | * nvmefc_tgt_fcp_req. |
| 792 | * Entrypoint is Optional. | 792 | * Entrypoint is Optional. |
| 793 | * | 793 | * |
| 794 | * @discovery_event: Called by the transport to generate an RSCN | ||
| 795 | * change notifications to NVME initiators. The RSCN notifications | ||
| 796 | * should cause the initiator to rescan the discovery controller | ||
| 797 | * on the targetport. | ||
| 798 | * | ||
| 794 | * @max_hw_queues: indicates the maximum number of hw queues the LLDD | 799 | * @max_hw_queues: indicates the maximum number of hw queues the LLDD |
| 795 | * supports for cpu affinitization. | 800 | * supports for cpu affinitization. |
| 796 | * Value is Mandatory. Must be at least 1. | 801 | * Value is Mandatory. Must be at least 1. |
| @@ -832,6 +837,7 @@ struct nvmet_fc_target_template { · 35 unmodified lines | |||
| 832 | struct nvmefc_tgt_fcp_req *fcpreq); | 837 | struct nvmefc_tgt_fcp_req *fcpreq); |
| 833 | void (*defer_rcv)(struct nvmet_fc_target_port *tgtport, | 838 | void (*defer_rcv)(struct nvmet_fc_target_port *tgtport, |
| 834 | struct nvmefc_tgt_fcp_req *fcpreq); | 839 | struct nvmefc_tgt_fcp_req *fcpreq); |
| 840 | void (*discovery_event)(struct nvmet_fc_target_port *tgtport); | ||
| 835 | 841 | ||
| 836 | u32 max_hw_queues; | 842 | u32 max_hw_queues; |
| 837 | u16 max_sgl_segments; | 843 | u16 max_sgl_segments; |