code: func checkVolumeModeMismatches(pvcSpec *v1.PersistentVolumeClaimSpec, pvSpec *v1.PersistentVolumeSpec) (bool, error) {
  	if !utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
  		return false, nil
  	}
  
  	// In HA upgrades, we cannot guarantee that the apiserver is on a version >= controller-manager.
  	// So we default a nil volumeMode to filesystem
  	requestedVolumeMode := v1.PersistentVolumeFilesystem
  	if pvcSpec.VolumeMode != nil {
  		requestedVolumeMode = *pvcSpec.VolumeMode
  	}
  	pvVolumeMode := v1.PersistentVolumeFilesystem
  	if pvSpec.VolumeMode != nil {
  		pvVolumeMode = *pvSpec.VolumeMode
  	}
  	return requestedVolumeMode != pvVolumeMode, nil
  }
docs: // checkVolumeModeMismatches is a convenience method that checks volumeMode for PersistentVolume
  // and PersistentVolumeClaims