mirror of
https://git.openafs.org/openafs.git
synced 2025-02-01 05:57:43 +00:00
STABLE14-windows-no-freelance-vldb-failover-20060622
When Freelance mode is not in use the cache manager must load the root.afs volume of the default cell in order to be able to start. Unfortunately, if the first vlserver fails the request to obtain the volume information will timeout and no retries will be performed. This patch performs up to 10 retries in the initialization code in order to enable the vlservers to be marked down so that failover can occur. (cherry picked from commit 4859232df55c94232a70d602cafe6a8bcc72d9dd)
This commit is contained in:
parent
26f27b64e4
commit
cb4150d060
@ -1194,11 +1194,15 @@ int afsd_InitDaemons(char **reasonP)
|
|||||||
/* this should really be in an init daemon from here on down */
|
/* this should really be in an init daemon from here on down */
|
||||||
|
|
||||||
if (!cm_freelanceEnabled) {
|
if (!cm_freelanceEnabled) {
|
||||||
|
int attempts = 10;
|
||||||
|
|
||||||
osi_Log0(afsd_logp, "Loading Root Volume from cell");
|
osi_Log0(afsd_logp, "Loading Root Volume from cell");
|
||||||
code = cm_GetVolumeByName(cm_data.rootCellp, cm_rootVolumeName, cm_rootUserp,
|
do {
|
||||||
&req, CM_FLAG_CREATE, &cm_data.rootVolumep);
|
code = cm_GetVolumeByName(cm_data.rootCellp, cm_rootVolumeName, cm_rootUserp,
|
||||||
afsi_log("cm_GetVolumeByName code %x root vol %x", code,
|
&req, CM_FLAG_CREATE, &cm_data.rootVolumep);
|
||||||
(code ? (cm_volume_t *)-1 : cm_data.rootVolumep));
|
afsi_log("cm_GetVolumeByName code %x root vol %x", code,
|
||||||
|
(code ? (cm_volume_t *)-1 : cm_data.rootVolumep));
|
||||||
|
} while (code && --attempts);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
*reasonP = "can't find root volume in root cell";
|
*reasonP = "can't find root volume in root cell";
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user