mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 00:10:15 +00:00
vos: convertROtoRW may create two RW volumes
If the RW volume is listed after the RO convert target in the VLDB, the code failed to detect that an RW is already present and would create a second RW volume. Change-Id: Ia77004214c4d1b18699b5527bc1fc928e8e1143d Reviewed-on: http://gerrit.openafs.org/7385 Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil> Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
parent
97581f7510
commit
9a728fd86c
@ -5564,8 +5564,9 @@ ConvertRO(struct cmd_syndesc *as, void *arock)
|
||||
rwindex = i;
|
||||
rwserver = entry.serverNumber[i];
|
||||
rwpartition = entry.serverPartition[i];
|
||||
}
|
||||
if (entry.serverFlags[i] & ITSROVOL) {
|
||||
if (roserver)
|
||||
break;
|
||||
} else if ((entry.serverFlags[i] & ITSROVOL) && !roserver) {
|
||||
same = VLDB_IsSameAddrs(server, entry.serverNumber[i], &code);
|
||||
if (code) {
|
||||
fprintf(STDERR,
|
||||
@ -5577,7 +5578,8 @@ ConvertRO(struct cmd_syndesc *as, void *arock)
|
||||
roindex = i;
|
||||
roserver = entry.serverNumber[i];
|
||||
ropartition = entry.serverPartition[i];
|
||||
break;
|
||||
if (rwserver)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user