From b10d91c48cdc7a75bcc4ee6c42c8555a82d34186 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 6 Sep 2008 05:25:59 +0000 Subject: [PATCH] DEVEL15-windows-vnovol-20080905 LICENSE MIT force a volume location update upon receipt of a VNOVOL error in case the volume was moved. VMOVED is only returned by the file server if the volume is in the process of being moved. Once it has been deleted the file server returns VNOVOL. (cherry picked from commit 0860d5b5b17ef5f58592d739424a4cca8dd91bb5) --- src/WINNT/afsd/cm_conn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index b46ebac85..8240c6c99 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -480,7 +480,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, for (tsrp = serversp; tsrp; tsrp=tsrp->next) { if (tsrp->server == serverp) { /* REDIRECT */ - if (errorCode == VMOVED) { + if (errorCode == VMOVED || errorCode == VNOVOL) { tsrp->status = srv_deleted; } else { tsrp->status = srv_offline; @@ -499,7 +499,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, } lock_ReleaseWrite(&cm_serverLock); - if (fidp && errorCode == VMOVED) + if (fidp && (errorCode == VMOVED || errorCode == VNOVOL)) cm_ForceUpdateVolume(fidp, userp, reqp); if (statep) { -- 2.39.5