windows-remove-scache-volp-20080312
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 13 Mar 2008 04:37:44 +0000 (04:37 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 13 Mar 2008 04:37:44 +0000 (04:37 +0000)
commitf9cc51fb40f1797b72ba5b05d7d0249b9a3b2e27
treeac9f1f99f1d0b7c121d4af83cec66547ae06b842
parent5378bf47efdb9abb056a0111cf38b9b6c73c7bc8
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.
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