Date: Tue, 26 Feb 2019 10:58:06 -0800 From: Conrad Meyer <cem@freebsd.org> To: Pedro Giffuni <pfg@freebsd.org> Cc: Alan Somers <asomers@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-projects@freebsd.org Subject: Re: svn commit: r344558 - in projects/fuse2: . sbin/ifconfig Message-ID: <CAG6CVpXSXC-5nP=dPiVjniR-K7g9nmkx2JmVfc698ej57GY6yg@mail.gmail.com> In-Reply-To: <306af793-6776-cf1b-fc19-f0a66e59be84@FreeBSD.org> References: <201902260328.x1Q3SEbK009132@repo.freebsd.org> <d3f15c04-79a7-84c6-5566-2cab4dd8cd48@FreeBSD.org> <CAG6CVpU=ee48gLXfHRyBMg2yFCDa7MXe9m%2B_r1sYz4YhaU9_Gg@mail.gmail.com> <306af793-6776-cf1b-fc19-f0a66e59be84@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Pedro, On Tue, Feb 26, 2019 at 10:12 AM Pedro Giffuni <pfg@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpXSXC-5nP=dPiVjniR-K7g9nmkx2JmVfc698ej57GY6yg>