From e1a9774cdcee448c2eb5435c4903870c15c07db5 Mon Sep 17 00:00:00 2001 From: Jacek Kalwas Date: Thu, 1 Oct 2020 02:20:38 +0200 Subject: [PATCH] nvmf: clear-out qpair during poll group add There are operations on nvmf which depends on proper values of qpair attributes which can be intepreted as internal state. e.g. nvmf_ctrlr_process_fabrics_cmd execution relies on qpair->ctrlr spdk_nvmf_qpair_disconnect relies on qpair->disconnect_started As poll group add is like a registration of qpair into nvmf lets try to initialize it to a defined and expected state. Signed-off-by: Jacek Kalwas Change-Id: I10494e7f70ff58ec5460cab1de8a52fd21cc4a48 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4479 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- lib/nvmf/nvmf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index d3362f132..f58be3e20 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -843,6 +843,8 @@ spdk_nvmf_poll_group_add(struct spdk_nvmf_poll_group *group, TAILQ_INIT(&qpair->outstanding); qpair->group = group; + qpair->ctrlr = NULL; + qpair->disconnect_started = false; TAILQ_FOREACH(tgroup, &group->tgroups, link) { if (tgroup->transport == qpair->transport) {