From 69d62d59689c7cd9758177f1f23d3b60df3a8a40 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 25 Dec 2007 21:58:51 +0000 Subject: [PATCH] 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. --- 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 f9148c830..d4d28ff80 100644 --- a/src/WINNT/afsd/cm_callback.c +++ b/src/WINNT/afsd/cm_callback.c @@ -355,7 +355,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); @@ -363,14 +362,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]; @@ -378,9 +376,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