Skip to content

glnx-fdio: handle EOPNOTSUPP for copy_file_range

Jonathan Lebon requested to merge jlebon/libglnx:pr/cfr-nfs into master

When using copy_file_range to target a source and dest on the same NFS mount on some older kernel versions, it's possible that we can get EOPNOTSUPP e.g. if the NFS server doesn't support server-side copy.

We hit this in the FCOS release pipeline where we run ostree pull-local to pull content between two repos on the same mount from inside an OpenShift cluster on top of RHEL7.

Nowadays, it seems like the kernel itself falls back to a more generic version of copy_file_range() at least. Though to be compatible with older kernels, let's add EOPNOTSUPP to the list of errors we interpret as "cfr possibly available, but can't be done for this specific operation".

Merge request reports