Blame SOURCES/0002-Revert-prov-psm2-Clean-up-connection-state-in-fi_av_.patch

3b7808
From 8bafb0be08d93743db66398471723fe49983df1b Mon Sep 17 00:00:00 2001
3b7808
From: Honggang Li <honli@redhat.com>
3b7808
Date: Thu, 4 Jul 2019 03:48:39 -0400
3b7808
Subject: [PATCH 2/2] Revert "prov/psm2: Clean up connection state in
3b7808
 fi_av_remove"
3b7808
3b7808
This reverts commit 5b892bd43c5a824d1e5709c3c1f686e48ee4e373.
3b7808
3b7808
 Conflicts:
3b7808
	prov/psm2/src/psmx2_av.c
3b7808
3b7808
Simple context conflict.
3b7808
---
3b7808
 prov/psm2/src/psmx2_av.c | 78 ----------------------------------------
3b7808
 1 file changed, 78 deletions(-)
3b7808
3b7808
diff --git a/prov/psm2/src/psmx2_av.c b/prov/psm2/src/psmx2_av.c
3b7808
index 2dabf93bb..aaa4624e4 100644
3b7808
--- a/prov/psm2/src/psmx2_av.c
3b7808
+++ b/prov/psm2/src/psmx2_av.c
3b7808
@@ -616,88 +616,10 @@ out:
3b7808
 	return ret;
3b7808
 }
3b7808
 
3b7808
-static int psmx2_av_disconnect_addr(int trx_ctxt_id, psm2_epid_t epid,
3b7808
-				    psm2_epaddr_t epaddr)
3b7808
-{
3b7808
-	struct psmx2_epaddr_context *epaddr_context;
3b7808
-	psm2_error_t errors;
3b7808
-	int err;
3b7808
-
3b7808
-	if (!epaddr)
3b7808
-		return 0;
3b7808
-
3b7808
-	FI_INFO(&psmx2_prov, FI_LOG_AV,
3b7808
-		"trx_ctxt_id %d epid %lx epaddr %p\n", trx_ctxt_id, epid, epaddr);
3b7808
-
3b7808
-	epaddr_context = psm2_epaddr_getctxt(epaddr);
3b7808
-	if (!epaddr_context)
3b7808
-		return -FI_EINVAL;
3b7808
-
3b7808
-	if (trx_ctxt_id != epaddr_context->trx_ctxt->id)
3b7808
-		return -FI_EINVAL;
3b7808
-
3b7808
-	if (epid != epaddr_context->epid)
3b7808
-		return -FI_EINVAL;
3b7808
-
3b7808
-	err = psm2_ep_disconnect2(epaddr_context->trx_ctxt->psm2_ep, 1, &epaddr,
3b7808
-				  NULL, &errors, PSM2_EP_DISCONNECT_FORCE, 0);
3b7808
-
3b7808
-	return psmx2_errno(err);
3b7808
-}
3b7808
-
3b7808
 DIRECT_FN
3b7808
 STATIC int psmx2_av_remove(struct fid_av *av, fi_addr_t *fi_addr, size_t count,
3b7808
 			   uint64_t flags)
3b7808
 {
3b7808
-	struct psmx2_fid_av *av_priv;
3b7808
-	int idx, i, j, k;
3b7808
-	int err;
3b7808
-
3b7808
-	av_priv = container_of(av, struct psmx2_fid_av, av);
3b7808
-
3b7808
-	av_priv->domain->av_lock_fn(&av_priv->lock, 1);
3b7808
-
3b7808
-	for (i = 0; i < count; i++) {
3b7808
-		idx = PSMX2_ADDR_IDX(fi_addr[i]);
3b7808
-		if (idx >= av_priv->hdr->last) {
3b7808
-			FI_WARN(&psmx2_prov, FI_LOG_AV,
3b7808
-				"AV index out of range: fi_addr %lx idx %d last %ld\n",
3b7808
-				fi_addr[i], idx, av_priv->hdr->last);
3b7808
-			continue;
3b7808
-		}
3b7808
-
3b7808
-		if (av_priv->table[idx].type == PSMX2_EP_REGULAR) {
3b7808
-			for (j = 0; j < av_priv->max_trx_ctxt; j++) {
3b7808
-				if (!av_priv->conn_info[j].trx_ctxt)
3b7808
-					continue;
3b7808
-
3b7808
-				err = psmx2_av_disconnect_addr(
3b7808
-						j, av_priv->table[idx].epid,
3b7808
-						av_priv->conn_info[j].epaddrs[idx]);
3b7808
-				if (!err)
3b7808
-					av_priv->conn_info[j].epaddrs[idx] = NULL;
3b7808
-			}
3b7808
-		} else {
3b7808
-			for (j = 0; j < av_priv->max_trx_ctxt; j++) {
3b7808
-				if (!av_priv->conn_info[j].trx_ctxt)
3b7808
-					continue;
3b7808
-
3b7808
-				if (!av_priv->conn_info[j].sepaddrs)
3b7808
-					continue;
3b7808
-
3b7808
-				for (k = 0; k < av_priv->sep_info[idx].ctxt_cnt; k++) {
3b7808
-					err = psmx2_av_disconnect_addr(
3b7808
-							j, av_priv->table[idx].epid,
3b7808
-							av_priv->conn_info[j].sepaddrs[idx][k]);
3b7808
-					if (!err)
3b7808
-						av_priv->conn_info[j].sepaddrs[idx][k] = NULL;
3b7808
-				}
3b7808
-			}
3b7808
-		}
3b7808
-	}
3b7808
-
3b7808
-	av_priv->domain->av_unlock_fn(&av_priv->lock, 1);
3b7808
-
3b7808
 	return 0;
3b7808
 }
3b7808
 
3b7808
-- 
3b7808
2.20.1
3b7808