mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
DEVEL15-dafs-restarting-error-change-20080306
LICENSE IPL10 on VSALVAGE the client will correctly resort its list and fail over to other replicas, but only for RO where there is more than one replica, obviously; since in dafs we expect to only delay on salvage this is the most useful course of action (cherry picked from commit 2137631fb44d934d51979850ebfcb6a50076b095)
This commit is contained in:
parent
87a3ff8b72
commit
42c527deab
@ -469,6 +469,14 @@ CheckVnode(AFSFid * fid, Volume ** volptr, Vnode ** vptr, int lock)
|
||||
extern int VInit;
|
||||
|
||||
while (1) {
|
||||
int restarting =
|
||||
#ifdef AFS_DEMAND_ATTACH_FS
|
||||
VSALVAGE
|
||||
#else
|
||||
VRESTARTING
|
||||
#endif
|
||||
;
|
||||
|
||||
errorCode = 0;
|
||||
*volptr = VGetVolume(&local_errorCode, &errorCode, (afs_int32) fid->Volume);
|
||||
if (!errorCode) {
|
||||
@ -531,7 +539,7 @@ CheckVnode(AFSFid * fid, Volume ** volptr, Vnode ** vptr, int lock)
|
||||
afs_perfstats.fs_nBusies++;
|
||||
FS_UNLOCK;
|
||||
}
|
||||
return (busyonrst ? VBUSY : VRESTARTING);
|
||||
return (busyonrst ? VBUSY : restarting);
|
||||
} else {
|
||||
struct timeval now;
|
||||
TM_GetTimeOfDay(&now, 0);
|
||||
@ -541,9 +549,9 @@ CheckVnode(AFSFid * fid, Volume ** volptr, Vnode ** vptr, int lock)
|
||||
afs_perfstats.fs_nBusies++;
|
||||
FS_UNLOCK;
|
||||
}
|
||||
return (busyonrst ? VBUSY : VRESTARTING);
|
||||
return (busyonrst ? VBUSY : restarting);
|
||||
} else {
|
||||
return (VRESTARTING);
|
||||
return (restarting);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user