volser transaction object race conditions
authorMichael Meffie <mmeffie@sinenomine.net>
Thu, 22 Oct 2009 19:51:33 +0000 (15:51 -0400)
committerDerrick Brashear <shadow|account-1000005@unknown>
Fri, 23 Oct 2009 20:48:26 +0000 (13:48 -0700)
commit11cdb701556fc0430445caaf3a4c6955683d9bd7
tree32876011be866d200355431ff4cfcb4ff0694b9f
parentbbcfbe1a04eda9e75b1643be88cf9d4842a8aa86
volser transaction object race conditions

Fix the transaction object races between VolMonitor and the
volume operation procedures which can cause the volume
server to crash.

Add a per transaction object mutex to safely set the
transaction call pointer and name. Fix VolMonitor to safely
traverse the transaction list and to access the call pointer
and last proc name while copying info to send to the vos
client.  Fix the sleep thread to safely access the last proc
name.

FIXES 125479

Change-Id: I59595b93522d111b6a771d3d93c246bfc2ce65de
Reviewed-on: http://gerrit.openafs.org/718
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/volser/Makefile.in
src/volser/volmain.c
src/volser/volprocs.c
src/volser/volser.p.h
src/volser/voltrans.c
src/volser/voltrans_inline.h [new file with mode: 0644]