From bf65f02e625df0aa9344b05abc4de5c3c55f855d Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 25 Dec 2007 22:01:44 +0000 Subject: [PATCH] DEVEL15-windows-callback-revoke-multi-cell-servers-20071225 LICENSE MIT Remove the callback revoke optimization that prevents a (vol,vn,uniq) tupple from invalidating entries from multiple cells. We cannot reliably determine the cell from the server because the server might be identified as belonging to more than one cell. For example, openafs.org and grand.central.org. (cherry picked from commit 69d62d59689c7cd9758177f1f23d3b60df3a8a40) --- src/WINNT/afsd/cm_callback.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/WINNT/afsd/cm_callback.c b/src/WINNT/afsd/cm_callback.c index e738d1b5b..24bc222e0 100644 --- a/src/WINNT/afsd/cm_callback.c +++ b/src/WINNT/afsd/cm_callback.c @@ -359,7 +359,6 @@ SRXAFSCB_CallBack(struct rx_call *callp, AFSCBFids *fidsArrayp, AFSCBs *cbsArray unsigned long host = 0; unsigned short port = 0; cm_server_t *tsp = NULL; - cm_cell_t * cellp = NULL; MUTEX_ENTER(&callp->lock); @@ -367,14 +366,13 @@ SRXAFSCB_CallBack(struct rx_call *callp, AFSCBFids *fidsArrayp, AFSCBs *cbsArray host = rx_HostOf(peerp); port = rx_PortOf(peerp); - tsp = cm_FindServerByIP(host, CM_SERVER_FILE); - if (tsp) - cellp = tsp->cellp; + osi_Log2(afsd_logp, "SRXAFSCB_CallBack from host 0x%x port %d", + ntohl(host), + ntohs(port)); + } else { + osi_Log0(afsd_logp, "SRXAFSCB_CallBack from unknown host"); } - osi_Log2(afsd_logp, "SRXAFSCB_CallBack from host 0x%x port %d", - ntohl(host), - ntohs(port)); for (i=0; i < (long) fidsArrayp->AFSCBFids_len; i++) { tfidp = &fidsArrayp->AFSCBFids_val[i]; @@ -382,9 +380,9 @@ SRXAFSCB_CallBack(struct rx_call *callp, AFSCBFids *fidsArrayp, AFSCBs *cbsArray if (tfidp->Volume == 0) continue; /* means don't do anything */ else if (tfidp->Vnode == 0) - cm_RevokeVolumeCallback(callp, cellp, tfidp); + cm_RevokeVolumeCallback(callp, NULL, tfidp); else - cm_RevokeCallback(callp, cellp, tfidp); + cm_RevokeCallback(callp, NULL, tfidp); } MUTEX_EXIT(&callp->lock); -- 2.39.5