nvmf: disconnecting io qpairs during shutdown handling
Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Change-Id: Iaee05abead7c685989d91f965133ee6b9e221f89 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3476 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Seth Howell <seth.howell@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
809ab045b0
commit
aedcec8a0c
@ -720,6 +720,19 @@ nvmf_ctrlr_cmd_connect(struct spdk_nvmf_request *req)
|
|||||||
return _nvmf_ctrlr_connect(req);
|
return _nvmf_ctrlr_connect(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nvmf_ctrlr_cc_shn_done(struct spdk_io_channel_iter *i, int status)
|
||||||
|
{
|
||||||
|
struct spdk_nvmf_ctrlr *ctrlr = spdk_io_channel_iter_get_ctx(i);
|
||||||
|
|
||||||
|
if (status < 0) {
|
||||||
|
SPDK_ERRLOG("Fail to disconnect io ctrlr qpairs\n");
|
||||||
|
assert(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
ctrlr->vcprop.csts.bits.shst = SPDK_NVME_SHST_COMPLETE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
nvmf_ctrlr_cc_reset_done(struct spdk_io_channel_iter *i, int status)
|
nvmf_ctrlr_cc_reset_done(struct spdk_io_channel_iter *i, int status)
|
||||||
{
|
{
|
||||||
@ -800,7 +813,10 @@ nvmf_prop_set_cc(struct spdk_nvmf_ctrlr *ctrlr, uint32_t value)
|
|||||||
ctrlr->vcprop.cc.bits.shn = cc.bits.shn;
|
ctrlr->vcprop.cc.bits.shn = cc.bits.shn;
|
||||||
ctrlr->vcprop.cc.bits.en = 0;
|
ctrlr->vcprop.cc.bits.en = 0;
|
||||||
ctrlr->vcprop.csts.bits.rdy = 0;
|
ctrlr->vcprop.csts.bits.rdy = 0;
|
||||||
ctrlr->vcprop.csts.bits.shst = SPDK_NVME_SHST_COMPLETE;
|
spdk_for_each_channel(ctrlr->subsys->tgt,
|
||||||
|
nvmf_ctrlr_disconnect_io_qpairs_on_pg,
|
||||||
|
ctrlr,
|
||||||
|
nvmf_ctrlr_cc_shn_done);
|
||||||
} else if (cc.bits.shn == 0) {
|
} else if (cc.bits.shn == 0) {
|
||||||
ctrlr->vcprop.cc.bits.shn = 0;
|
ctrlr->vcprop.cc.bits.shn = 0;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user