From: Darrick J. Wong Date: Tue, 18 Oct 2016 01:54:35 +0000 (-0700) Subject: ioctl_ficlonerange.2, ioctl_fideduperange.2: Clarify the behavior of the FIDEDUPERANG... X-Git-Tag: man-pages-4.09~455 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2046b8ac01beb4732191b1d17660b7951f78e3a5;p=thirdparty%2Fman-pages.git ioctl_ficlonerange.2, ioctl_fideduperange.2: Clarify the behavior of the FIDEDUPERANGE ioctl Signed-off-by: Darrick J. Wong --- diff --git a/man2/ioctl_ficlonerange.2 b/man2/ioctl_ficlonerange.2 index ac0738a88f..0e3ae0e27e 100644 --- a/man2/ioctl_ficlonerange.2 +++ b/man2/ioctl_ficlonerange.2 @@ -114,7 +114,7 @@ regions in directories. .TP .B EOPNOTSUPP This can appear if the filesystem does not support reflinking either file -descriptor. +descriptor, or if either file descriptor refers to special inodes. .TP .B EPERM .IR dest_fd diff --git a/man2/ioctl_fideduperange.2 b/man2/ioctl_fideduperange.2 index c52fa2a36d..2112d10ef8 100644 --- a/man2/ioctl_fideduperange.2 +++ b/man2/ioctl_fideduperange.2 @@ -99,21 +99,39 @@ Each deduplication operation targets bytes in file descriptor .IR dest_fd at offset -.IR logical_offset ". +.IR dest_offset ". The field .IR reserved must be zero. +During the call, +.IR src_fd +must be open for reading and +.IR dest_fd +must be open for writing. +For any call to this ioctl, there may not be more than 65,536 +requests attached; each request may not exceed 16MiB. +By convention, the storage used by +.IR src_fd +is mapped into +.IR dest_fd +and the previous contents in +.IR dest_fd +are freed. Upon successful completion of this ioctl, the number of bytes successfully deduplicated is returned in .IR bytes_deduped and a status code for the deduplication operation is returned in .IR status ". - +If even a single byte in the range does not match, the deduplication +request will be ignored and +.IR status +set to +.BR FILE_DEDUPE_RANGE_DIFFERS . The .IR status code is set to -.B 0 +.B FILE_DEDUPE_RANGE_SAME for success, a negative error code in case of error, or .B FILE_DEDUPE_RANGE_DIFFERS if the data did not match. @@ -150,7 +168,7 @@ regions in directories. .TP .B EOPNOTSUPP This can appear if the filesystem does not support deduplicating either file -descriptor. +descriptor, or if either file descriptor refers to special inodes. .TP .B EPERM .IR dest_fd