Re: RFC: Does ZFS block cloning do this?

From: Alan Somers <asomers_at_freebsd.org>
Date: Wed, 06 Aug 2025 15:32:42 UTC
On Wed, Aug 6, 2025 at 9:18 AM Rick Macklem <rick.macklem@gmail.com> wrote:

> Hi,
>
> NFSv4.2 has a CLONE operation. It is described as doing:
>    The CLONE operation is used to clone file content from a source file
>    specified by the SAVED_FH value into a destination file specified by
>    CURRENT_FH without actually copying the data, e.g., by using a
>    copy-on-write mechanism.
> (It takes arguments for 2 files, with byte offsets and a length.)
> The offsets must be aligned to a value returned by the NFSv4.2 server.
> 12.2.1.  Attribute 77: clone_blksize
>
>    The clone_blksize attribute indicates the granularity of a CLONE
>    operation.
>
> Does ZFS block cloning do this?
>
> I am asking now, because although it might be too late,
> if the answer is "yes", I'd like to get VOP calls into 15.0
> for it. (Hopefully with the VOP calls in place, the rest could
> go in sometime later, when I find the time to do it.)
>
> Thanks in advance for any comments, rick


Yes, it does that right now, if the feature@block_cloning pool attribute is
enabled.  It works with VOP_COPY_FILE_RANGE.  Does NFS really need a new
VOP?