From owner-freebsd-arch@FreeBSD.ORG Tue Oct 26 20:58:03 2010 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 117BC1065670 for ; Tue, 26 Oct 2010 20:58:03 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id AE9AF8FC12 for ; Tue, 26 Oct 2010 20:58:02 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.3/8.14.2) with ESMTP id o9QKw15f039764; Tue, 26 Oct 2010 16:58:01 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.3/8.14.2/Submit) id o9QKw16V039763; Tue, 26 Oct 2010 16:58:01 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Tue, 26 Oct 2010 16:58:01 -0400 From: David Schultz To: Kostik Belousov Message-ID: <20101026205801.GA39716@zim.MIT.EDU> Mail-Followup-To: Kostik Belousov , Ivan Voras , freebsd-arch@freebsd.org References: <20101025211904.GM2392@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20101025211904.GM2392@deviant.kiev.zoral.com.ua> Cc: Ivan Voras , freebsd-arch@FreeBSD.ORG Subject: Re: Importing the fusefs kernel module? X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Oct 2010 20:58:03 -0000 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.