OpenAFS CVS Commit: openafs/src/WINNT/afsd by jaltman

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Fri, 27 Jun 2008 17:42:00 EDT


Update of /cvs/openafs/src/WINNT/afsd
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-kdfs/src/WINNT/afsd

Modified Files:
      Tag: openafs-windows-kdfs-ifs-branch
	smb.c 
Log Message:
DELTA KDFS-windows-smb-dead-vc-gc-20080627
AUTHOR jaltman@secure-endpoints.com
LICENSE MIT

When an SMB virtual circuit is prematurely closed due to an error
condition by one thread it is possible that there are still several
other threads still using the VC which will determine that the VC
is dead shortly.  As a result we maintain a dead vc list to ensure
that dead vcs are not destroyed while still in use.

With the addition of locking though this causes a problem because the
locks allocated to the virtual circuit are not freed until the vc is
destroyed.

This patch reworks the cleanup routine to make the freeing of resources
the responsibility of the release routine when the refcount hits 0
and the VC is marked dead.


--- DELTA config for openafs-windows-kdfs-ifs-branch follows ---
KDFS-windows-smb-dead-vc-gc-20080627 openafs/src/WINNT/afsd/smb.c 1.191.2.7 1.191.2.8