]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-windows-remove-scache-volp-20080312
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 13 Mar 2008 04:39:17 +0000 (04:39 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 13 Mar 2008 04:39:17 +0000 (04:39 +0000)
commite29dd37849bf093d39f97b7bfba87e312fc23f26
tree9407f0ed24270dc23e39ab1b65feb56a690ea3bd
parent6d2e37db8af9748ecdf10f6f20eadfc7832c5acc
DEVEL15-windows-remove-scache-volp-20080312

LICENSE MIT

The cm_scache structure has included a reference to the associated cm_volume_t,
volp.  By doing so the reference count on the cm_volume_t objects never hits
zero unless all of the cm_scache_t objects in that volume have been reused.
This prevents cm_volume object recycling.

This commit removes the hard reference and instead adds a function
cm_GetVolumeByFID which obtains a reference to the cm_volume that matches
the cm_scache fid value as needed.

A new "Volumes" registry value is added to permit explicit specification
of the number of volume objects to be allocated.

(cherry picked from commit f9cc51fb40f1797b72ba5b05d7d0249b9a3b2e27)
13 files changed:
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm.h
src/WINNT/afsd/cm_callback.c
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/cm_performance.c
src/WINNT/afsd/cm_scache.c
src/WINNT/afsd/cm_scache.h
src/WINNT/afsd/cm_server.c
src/WINNT/afsd/cm_vnodeops.c
src/WINNT/afsd/cm_volstat.c
src/WINNT/afsd/cm_volume.c
src/WINNT/afsd/cm_volume.h