code: func (resizeMap *volumeResizeMap) UpdatePVSize(pvcr *PVCWithResizeRequest, newSize resource.Quantity) error {
  	oldPv := pvcr.PersistentVolume
  	pvClone := oldPv.DeepCopy()
  
  	oldData, err := json.Marshal(pvClone)
  
  	if err != nil {
  		return fmt.Errorf("Unexpected error marshaling old PV %q with error : %v", pvClone.Name, err)
  	}
  
  	pvClone.Spec.Capacity[v1.ResourceStorage] = newSize
  
  	newData, err := json.Marshal(pvClone)
  
  	if err != nil {
  		return fmt.Errorf("Unexpected error marshaling new PV %q with error : %v", pvClone.Name, err)
  	}
  
  	patchBytes, err := strategicpatch.CreateTwoWayMergePatch(oldData, newData, pvClone)
  
  	if err != nil {
  		return fmt.Errorf("Error Creating two way merge patch for PV %q with error : %v", pvClone.Name, err)
  	}
  
  	_, updateErr := resizeMap.kubeClient.CoreV1().PersistentVolumes().Patch(pvClone.Name, commontypes.StrategicMergePatchType, patchBytes)
  
  	if updateErr != nil {
  		klog.V(4).Infof("Error updating pv %q with error : %v", pvClone.Name, updateErr)
  		return updateErr
  	}
  	return nil
  }
docs: // UpdatePVSize updates just pv size after cloudprovider resizing is successful