Re: RFC: Should copy_file_range(2) work for shared memory objects?

From: Alan Somers <asomers_at_freebsd.org>
Date: Wed, 20 Sep 2023 22:07:45 UTC
On Wed, Sep 20, 2023 at 3:05 PM Rick Macklem <rick.macklem@gmail.com> wrote:
>
> Right now (as noted by PR#273962) copy_file_range(2)
> fails for shared memory objects because there is no
> vnode (f_vnode == NULL) for them and the code uses
> vnodes (including a file system specific VOP_COPY_FILE_RANGE(9)).
>
> Do you think copy_file_range(2) should work for shared memory objects?
>
> This would require specific handling in kern_copy_file_range()
> to work.  I do not think the patch would be a lot of work, but
> I am not familiar with the f_ops and shared memory code.
>
> rick

This sounds annoying to fix.  But I think we ought to.  Right now
programmers can assume that copy_file_range will work for every type
of file.  We don't document an EOPNOTSUP error code or anything like
that.  Does it work on sockets, too?