[PATCH] copy_file_range.2: Kernel v5.12 updates

From: Luis Henriques
Date: Wed Feb 24 2021 - 10:15:14 EST


Update man-page with recent changes to this syscall.

Signed-off-by: Luis Henriques <lhenriques@xxxxxxx>
---
Hi!

Here's a suggestion for fixing the manpage for copy_file_range(). Note that
I've assumed the fix will hit 5.12.

man2/copy_file_range.2 | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2
index 611a39b8026b..b0fd85e2631e 100644
--- a/man2/copy_file_range.2
+++ b/man2/copy_file_range.2
@@ -169,6 +169,9 @@ Out of memory.
.B ENOSPC
There is not enough space on the target filesystem to complete the copy.
.TP
+.B EOPNOTSUPP
+The filesystem does not support this operation.
+.TP
.B EOVERFLOW
The requested source or destination range is too large to represent in the
specified data types.
@@ -187,7 +190,7 @@ refers to an active swap file.
.B EXDEV
The files referred to by
.IR fd_in " and " fd_out
-are not on the same mounted filesystem (pre Linux 5.3).
+are not on the same mounted filesystem (pre Linux 5.3 and post Linux 5.12).
.SH VERSIONS
The
.BR copy_file_range ()
@@ -202,6 +205,11 @@ Applications should target the behaviour and requirements of 5.3 kernels.
.PP
First support for cross-filesystem copies was introduced in Linux 5.3.
Older kernels will return -EXDEV when cross-filesystem copies are attempted.
+.PP
+After Linux 5.12, support for copies between different filesystems was dropped.
+However, individual filesystems may still provide
+.BR copy_file_range ()
+implementations that allow copies across different devices.
.SH CONFORMING TO
The
.BR copy_file_range ()