code: func removeMountDir(plug *csiPlugin, mountPath string) error {
  	klog.V(4).Info(log("removing mount path [%s]", mountPath))
  
  	mnt, err := isDirMounted(plug, mountPath)
  	if err != nil {
  		return err
  	}
  	if !mnt {
  		klog.V(4).Info(log("dir not mounted, deleting it [%s]", mountPath))
  		if err := os.Remove(mountPath); err != nil && !os.IsNotExist(err) {
  			klog.Error(log("failed to remove dir [%s]: %v", mountPath, err))
  			return err
  		}
  		// remove volume data file as well
  		volPath := path.Dir(mountPath)
  		dataFile := filepath.Join(volPath, volDataFileName)
  		klog.V(4).Info(log("also deleting volume info data file [%s]", dataFile))
  		if err := os.Remove(dataFile); err != nil && !os.IsNotExist(err) {
  			klog.Error(log("failed to delete volume data file [%s]: %v", dataFile, err))
  			return err
  		}
  		// remove volume path
  		klog.V(4).Info(log("deleting volume path [%s]", volPath))
  		if err := os.Remove(volPath); err != nil && !os.IsNotExist(err) {
  			klog.Error(log("failed to delete volume path [%s]: %v", volPath, err))
  			return err
  		}
  	}
  	return nil
  }
docs: // removeMountDir cleans the mount dir when dir is not mounted and removed the volume data file in dir