From: Jeffrey Altman Date: Sat, 6 Sep 2008 05:24:31 +0000 (+0000) Subject: windows-vnovol-20080905 X-Git-Tag: openafs-devel-1_5_61~835 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=0860d5b5b17ef5f58592d739424a4cca8dd91bb5;p=packages%2Fo%2Fopenafs.git 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. --- diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 0d450d9a8..5d923b41f 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) {