From owner-freebsd-arch@FreeBSD.ORG Thu Oct 28 20:07:16 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 075421065670 for ; Thu, 28 Oct 2010 20:07:16 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id 939F88FC1A for ; Thu, 28 Oct 2010 20:07:15 +0000 (UTC) Received: by qwg8 with SMTP id 8so283569qwg.13 for ; Thu, 28 Oct 2010 13:07:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:content-type:content-transfer-encoding; bh=LpS/vPBoB7KqN66Hi7oaHT/j1pSkMvf2MvOJnNm40tw=; b=KLNJcjI/4JtGB/ctkETk87PvIKweIhd+dsgGJSXS2fx7QAwMXfmAvWe82Mir/B2dDG AVfuYcaSSPHF9V+9OsGj66ycFvkIai3016XFiB2ty3k+BDqBpuE8tJ3iuAjgqfGZWyO4 Im8v/OiQpJWst3FiT2nr1W1j6f9T7nSExlBeE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=x0eoNeOO1+X7E990RBHNIdCx/tHn5rWElrCwBYrHeYq77wNKVbbS4pVfNtNDlbMuPc oPMxXtX2+y+IZah0uKr0X4K7y6PtEC1vlRORyb6oL9z4IqceGwjwHs9iBzoo3RKQ8XB0 UKggjdop06i9qqBuwwEoZTQD+C6Lz9+Itpd+8= Received: by 10.229.220.201 with SMTP id hz9mr10901756qcb.194.1288296433349; Thu, 28 Oct 2010 13:07:13 -0700 (PDT) MIME-Version: 1.0 Sender: ivoras@gmail.com Received: by 10.229.80.5 with HTTP; Thu, 28 Oct 2010 13:06:32 -0700 (PDT) In-Reply-To: <20101028184504.GB46314@acme.spoerlein.net> References: <20101025211904.GM2392@deviant.kiev.zoral.com.ua> <20101026205801.GA39716@zim.MIT.EDU> <4CC92D1B.5010701@entel.upc.edu> <20101028184504.GB46314@acme.spoerlein.net> From: Ivan Voras Date: Thu, 28 Oct 2010 22:06:32 +0200 X-Google-Sender-Auth: R2OdQTXzRjizEO7PmOa1rcj5SEI Message-ID: To: Ivan Voras , freebsd-arch@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: 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: Thu, 28 Oct 2010 20:07:16 -0000 On 28 October 2010 20:45, Ulrich Sp=C3=B6rlein wrote: > On Thu, 28.10.2010 at 12:19:52 +0200, Ivan Voras wrote: >> 2010/10/28 Gustau P=C3=A9rez : >> >> > =C2=A0 The point is, do we stick with fuse or do we switch to puffs ? = What is >> >> Basically my vote goes to fuse for these reasons: >> >> =C2=A0* More file systems are developed for fuse >> =C2=A0* It's more popular both among the users and 3d party software >> developers (you mentioned Gnome) >> =C2=A0* It's better performing, at least in theory, because puffs was no= t >> originally written for a multi-threaded kernel (lots of serialization) > > I was under the impression, there's a library for puffs (called > re-fuse?!?) which would provide API compatible shims for FUSE, rendering > your first argument invalid. > > Or am I wrong? Sort of. According to the development paper at http://www.netbsd.org/docs/puffs/refuse.pdf the refuse library doesn't/didn't support the whole FUSE API, and according to a post I can't seem to find right now (and will send if I find it) the architectures (especially wrt threading) are too different for it to be 100% mapping between puffs and fuse. As I'm interested in the more advanced fuse file systems (e.g. cluster fs's), this stands out as a possible problem. The puffs system continued to be developed at NetBSD after the FreeBSD port was branched. There will also be nontrivial work to merge new code from NetBSD. I'm not specifically against puffs, but I think dispersal of efforts between the two APIs is the worst possible outcome right now. The above paper also states that there are OpenSolaris and MacOS X implementations of FUSE which are based on fuse4bsd so there's even that aspect - they made it stable, why can't we?