nvme: move callback check only for the owning process

Change-Id: I05b5540fe8b1e22e8aebe23598b8cd44c8990861
Signed-off-by: GangCao <gang.cao@intel.com>
This commit is contained in:
GangCao 2016-11-23 21:34:41 -05:00 committed by Daniel Verkamp
parent 2e6ec373bf
commit 02a142abee

View File

@ -949,15 +949,17 @@ nvme_pcie_qpair_complete_tracker(struct spdk_nvme_qpair *qpair, struct nvme_trac
req->retries++;
nvme_pcie_qpair_submit_tracker(qpair, tr);
} else {
if (was_active && req->cb_fn) {
if (was_active) {
/* Only check admin requests from different processes. */
if (nvme_qpair_is_admin_queue(qpair) && req->pid != getpid()) {
req_from_current_proc = false;
nvme_pcie_qpair_insert_pending_admin_request(qpair, req, cpl);
} else {
if (req->cb_fn) {
req->cb_fn(req->cb_arg, cpl);
}
}
}
if (req_from_current_proc == true) {
nvme_free_request(req);