mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 00:10:15 +00:00
vos: convertROtoRW does not respect volume lock
vos convertROtoRW was not checking the return code from ubik_VL_SetLock(). Change-Id: I651c543f9a0070a9d34d9cca7583437e50e95dc8 Reviewed-on: http://gerrit.openafs.org/7388 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com> Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
parent
3a7dbe3315
commit
38ebd79baf
@ -5612,6 +5612,13 @@ ConvertRO(struct cmd_syndesc *as, void *arock)
|
||||
vcode =
|
||||
ubik_VL_SetLock(cstruct, 0, entry.volumeId[RWVOL], RWVOL,
|
||||
VLOP_MOVE);
|
||||
if (vcode) {
|
||||
fprintf(STDERR,
|
||||
"Unable to lock volume %lu, code %d\n",
|
||||
(unsigned long)entry.volumeId[RWVOL],vcode);
|
||||
PrintError("", vcode);
|
||||
return -1;
|
||||
}
|
||||
aconn = UV_Bind(server, AFSCONF_VOLUMEPORT);
|
||||
code = AFSVolConvertROtoRWvolume(aconn, partition, volid);
|
||||
if (code) {
|
||||
@ -5653,9 +5660,13 @@ ConvertRO(struct cmd_syndesc *as, void *arock)
|
||||
"Warning: volume converted, but vldb update failed with code %d!\n",
|
||||
code);
|
||||
}
|
||||
|
||||
vcode = UV_LockRelease(entry.volumeId[RWVOL]);
|
||||
if (vcode) {
|
||||
PrintDiagnostics("unlock", vcode);
|
||||
fprintf(STDERR,
|
||||
"Unable to unlock volume %lu, code %d\n",
|
||||
(unsigned long)entry.volumeId[RWVOL],vcode);
|
||||
PrintError("", vcode);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user