From: Mark Vitale Date: Tue, 8 May 2012 19:03:46 +0000 (-0400) Subject: vos: volume lock not released on convertROtoRW error X-Git-Tag: upstream/1.8.0_pre1^2~2399 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=33eff6597facc01bbcd5266fb83c8a6bfa40dfa8;p=packages%2Fo%2Fopenafs.git vos: volume lock not released on convertROtoRW error If an error occurs during convertROtoRW, the volume lock may not be released. Change-Id: Ic03af00676de836cade4e39a743b234a0dc9b6cf Reviewed-on: http://gerrit.openafs.org/7389 Tested-by: BuildBot Reviewed-by: Alistair Ferguson Reviewed-by: Derrick Brashear --- diff --git a/src/volser/vos.c b/src/volser/vos.c index fbd32a7e6..fb8a6385c 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -5626,7 +5626,7 @@ ConvertRO(struct cmd_syndesc *as, void *arock) "Converting RO volume %lu to RW volume failed with code %d\n", (unsigned long)volid, code); PrintError("convertROtoRW ", code); - return -1; + goto error_exit; } entry.serverFlags[roindex] = ITSRWVOL; entry.flags |= RW_EXISTS; @@ -5661,6 +5661,7 @@ ConvertRO(struct cmd_syndesc *as, void *arock) code); } + error_exit: vcode = UV_LockRelease(entry.volumeId[RWVOL]); if (vcode) { fprintf(STDERR,