When a volume fails to attach, ensure it's volume handles
get released before all traces of it are erased. Failure to do so
might cause problems once the volume is salvaged and re-attached.
VReleaseVolumeHandles_r is moved to FreeVolume and no longer called separately.
Change-Id: I2366f13fd9daa6eb8ce3b4240bb1534f14f706c4
Reviewed-on: http://gerrit.openafs.org/874
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
#endif /* AFS_PTHREAD_ENV */
}
if (vp->shuttingDown) {
- VReleaseVolumeHandles_r(vp);
FreeVolume(vp);
if (programType == fileServer)
#ifdef AFS_PTHREAD_ENV
LWP_NoYieldSignal(VPutVolume);
#endif /* AFS_PTHREAD_ENV */
- VReleaseVolumeHandles_r(vp);
-
}
void
for (i = 0; i < nVNODECLASSES; i++)
if (vp->vnodeIndex[i].bitmap)
free(vp->vnodeIndex[i].bitmap);
+ VReleaseVolumeHandles_r(vp);
FreeVolumeHeader(vp);
DeleteVolumeFromHashTable(vp);
free(vp);