From d62cdef0e30e8970aefd674bc3dfa61ceeedb8a4 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Tue, 3 Mar 2020 11:44:38 -0700 Subject: [PATCH] lib/nvme: set child->parent to null in request_remove_child. Not doing thsi was causing me to hit an assert in this funciton that was caused by us erroneously calling into it from the error path of _nvme_qpair_submit_request. Signed-off-by: Seth Howell Change-Id: I46a4d9ec543281d756cc4447d3e880a98f341092 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1121 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk --- lib/nvme/nvme_internal.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/nvme/nvme_internal.h b/lib/nvme/nvme_internal.h index fcbe26c09..a8251fc85 100644 --- a/lib/nvme/nvme_internal.h +++ b/lib/nvme/nvme_internal.h @@ -1043,6 +1043,7 @@ nvme_request_remove_child(struct nvme_request *parent, struct nvme_request *chil assert(parent->num_children != 0); parent->num_children--; + child->parent = NULL; TAILQ_REMOVE(&parent->children, child, child_tailq); }