OpenAFS CVS Commit: openafs/src/viced by jaltman
cvs@GRAND.CENTRAL.ORG
cvs@GRAND.CENTRAL.ORG
Mon, 13 Feb 2006 12:10:15 EST
Update of /cvs/openafs/src/viced
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-1-4/src/viced
Modified Files:
Tag: openafs-stable-1_4_x
afsfileprocs.c host.c host.h
Log Message:
DELTA STABLE14-viced-fix-check-rights-race-20060213
AUTHOR jaltman@secure-endpoints.com
FIXES 25869
acl_CheckRights() was generating core dumps because the client's prlist
was being invalidated by h_TossStuff_r() as part of freeing the associated
host. This patch fixes the problem in probably redundant ways.
A missing hold on the host is now obtained. refCounts on the client
are now preserved as part of GetClient()/PutClient(). Read/Write locks
are now obtained on the client when accessing/manipulating the prlist.
This patch adds the client parameter to GetVolumePackage() and
PutVolumePackage() and adds the new function PutClient().
This patch removes the need for the client X had conn Y stolen by X messages.
This is replaced by "deleted client X already had conn Y stolen by X. If
we see this there is definitely a logic problem as the client should not
be deleted at this point. We a no longer allowing the race condition that
would have resulted in the original message.
In addition, this patch fixes a problem with UAEs caused by the
inappropriate translation of VICE error into UAEs when there is overlap
between VICE error values and those in sys/errno.h.
--- DELTA config for openafs-stable-1_4_x follows ---
STABLE14-viced-fix-check-rights-race-20060213 openafs/src/viced/afsfileprocs.c 1.81.2.16 1.81.2.17
STABLE14-viced-fix-check-rights-race-20060213 openafs/src/viced/host.c 1.57.2.16 1.57.2.17
STABLE14-viced-fix-check-rights-race-20060213 openafs/src/viced/host.h 1.9.2.5 1.9.2.6