func doCleanupMountPoint()

in mount_helper_common.go [86:110]


func doCleanupMountPoint(mountPath string, mounter Interface, extensiveMountPointCheck bool, corruptedMnt bool) error {
	var notMnt bool
	var err error
	if !corruptedMnt {
		notMnt, err = removePathIfNotMountPoint(mountPath, mounter, extensiveMountPointCheck)
		// if mountPath was not a mount point - we would have attempted to remove mountPath
		// and hence return errors if any.
		if err != nil || notMnt {
			return err
		}
	}

	// Unmount the mount path
	klog.V(4).Infof("%q is a mountpoint, unmounting", mountPath)
	if err := mounter.Unmount(mountPath); err != nil {
		return err
	}

	notMnt, err = removePathIfNotMountPoint(mountPath, mounter, extensiveMountPointCheck)
	// mountPath is not a mount point we should return whatever error we saw
	if notMnt {
		return err
	}
	return fmt.Errorf("Failed to unmount path %v", mountPath)
}