Importing the fusefs kernel module?
Scott Long
scottl at samsco.org
Tue Oct 26 23:31:09 UTC 2010
On Oct 26, 2010, at 2:58 PM, David Schultz wrote:
> On Tue, Oct 26, 2010, Kostik Belousov wrote:
>> On Mon, Oct 25, 2010 at 10:53:08PM +0200, Ivan Voras wrote:
>>> Fusefs is the Linux-developed userland filesystem interface which is
>>> fairly popular in the wild, especially with the "sshfs" module which
>>> allows mounting of generic ssh/sftp directories in a very easy way.
>>>
>>> It was developed in one of the very early Google Summer of Code projects
>>> (2005) and is now in a bit unusual situation:
>>>
>>> 1) it *is* popular, as reports about its breakage arrive pretty soon
>>> after it breaks
>>>
>>> 2) it is currently practically unmaintained. The source code archive is
>>> from 2008 and the port contains a dozen patches to be applied to it to
>>> make it work on recent systems
>>>
>>> 3) it is also not exactly rock stable, though this has improved with the
>>> above patches; personally I'd judge it to be as stable as ZFS was two
>>> years ago so there :)
>>>
>>> I'm proposing to import the kernel module into the official tree (there
>>> are also userland libraries under the GPL; they will stay as ports).
>>> There are no license conflicts for the kernel module. I see two benefits
>>> from it:
>>>
>>> 1) it will finally integrate the patches needed for it to work in one
>>> tree and provide the "one official place" to work on it
>>>
>>> 2) it will be easier to maintain it here, and changes to the VFS APIs
>>> would be applied to it in sweeping commits together with other file systems.
>>>
>>> I'm not knowledgeable enough to actively work on it (yet) but I can
>>> mechanically maintain it and generally take care of it.
>>>
>>> Objections?
>> This is not going to work. The code is unmaintained. Committing it into
>> the src/ just makes the pile of not working code in src/ bigger.
>
> I used it about a year ago to grade student projects for a class.
> I had a bunch of buggy student code interfacing with the kernel
> module via libfuse, and it was quite stable for my purposes.
> The project didn't involve supporting mmap, though.
>
> When I subsequently upgraded my kernel, however, the port broke.
>
> The value of having FUSE in the tree is that it encourages people
> to put forth the modicum of effort required to ensure that it still
> compiles when kernel APIs change. I can't comment on whether it is
> popular enough to support to such a minimal extent, but it is a
> nifty little package: you maintain one kernel module, and you get
> passable support for several dozen filesystems for free.
What is comes down to is that it needs a committed owner, someone who not only will shepherd it into the tree, but also work on continuous improvements and handle bug reports. I personally think that it would be a good thing to have in the kernel, but I can't afford the commitment.
Scott
More information about the freebsd-arch
mailing list