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