svn commit: r344558 - in projects/fuse2: . sbin/ifconfig
Conrad Meyer
cem at freebsd.org
Tue Feb 26 18:58:25 UTC 2019
Hi Pedro,
On Tue, Feb 26, 2019 at 10:12 AM Pedro Giffuni <pfg at freebsd.org> wrote:
> Yes they keep that file under a BSD license, and order is important. I
> think we actually have to stop around 7.13 unless we are willing to
> support the linux splice call.
I don't think splice is necessary. libfuse today already handles
kernels that do not support SPLICE capability by emulating in
userspace. It doesn't even request the capability of the kernel
unless all of the following are true:
1. Userspace defines a splice() function.
2. Kernel advertises version 7.14+
( https://github.com/libfuse/libfuse/blob/0c73b8389aaea156e7544d984be95515b9743033/lib/fuse_lowlevel.c#L1910
)
And it doesn't use the splice syscall on fuse fds unless the kernel
additionally advertises the capability. We simply won't advertise the
capability, and since we don't have the function at all, libfuse built
on FreeBSD won't even compile the code wrapped in HAVE_SPLICE.
I agree there will probably be some stumbling blocks, but I don't
think splice is going to be one of them. And I think libfuse upstream
is very receptive to any compatibility shims we might need to
coordinate with them if it helps get us beyond 7.8 :-).
Best,
Conrad
More information about the svn-src-projects
mailing list