text: Title: Refactor preparePVCDataSourceForProvisioning to support BlockVolume tests in multivolume.go
  Body: <!-- Feature requests are unlikely to make progress as an issue.
  
  Instead, please suggest enhancements by engaging with SIGs on slack and mailing lists.
  
  A proposal that works through the design along with the implications of the change can be opened as a KEP:
  https://git.k8s.io/enhancements/keps#kubernetes-enhancement-proposals-keps
  -->
  
  #### What would you like to be added:
  
  In https://github.com/kubernetes/kubernetes/pull/102775 block volume tests were skipped because `preparePVCDataSourceForProvisioning` is not using `utils.CheckWriteToPath / utils.CheckReadFromPath`, there are more details about how these functions are used in `TestConcurrentAccessToSingleVolume`
  
  This is a test that uses the [XFS](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems#xfs), if tested using the [GCE PD storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/#gce-pd) it should have `fstype: xfs`, in addition the test cluster should have the [VolumeSnapshot CRDs and the controllers installed](https://kubernetes.io/docs/concepts/storage/volume-snapshots/)
  
  *Things that are needed for a first time contributor*
  
  - a development kubernetes cluster, preferably on a public cloud instance although I'm not sure if kind can be used
  - a CSI driver like PD CSI Driver, the storage class should be setup to use the xfs fstype
  - the volume snapshot CRDs and controllers installed in the cluster (kubernetes-csi/external-snapshotter#usage)
  
  /sig storage
  /area testing
  /good-first-issue