Windows: AFSVolumeCB track RefCount reasons
Introduct AFSVolumeIncrement and AFSVolumeDecrement functions
which are used to increment not only the AFSVolumeCB.VolumeReferenceCount
but also a new VolumeReferences[Reason] counter. In the future when
a VolumeReferenceCount error occurs it may be possible to isolate the
cause to a subset of the code.
In the process, the VolumeReferenceCount necessary to free the
AFSVolumeCB object is changed from 1 to 0 and AFSInitVolume no longer
initializes the AFSVolumeCB count to 2.
The signature for AFSInitVolume and AFSLocateNameEntry are modified
to permit a volume reference reason to be provided. This permits
the reference to be allocated in one function and released in another
without resulting in count imbalances.
Change-Id: I021a6efe061817ff044c18a699ee63a7ffbfc7bf
Reviewed-on: http://gerrit.openafs.org/9067
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>