9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Eric Van Hensbergen" <ericvh@gmail.com>
To: weigelt@metux.de,
	"Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] 9P vs. FUSE
Date: Fri, 10 Aug 2007 08:45:03 -0500	[thread overview]
Message-ID: <a4e6962a0708100645o40d78c12lc3fc162cdbb22c45@mail.gmail.com> (raw)
In-Reply-To: <20070810123336.GG18939@nibiru.local>

On 8/10/07, Enrico Weigelt <weigelt@metux.de> wrote:
> * Skip Tavakkolian <9nut@9netics.com> wrote:
> > > did anyone do any comparisons on 9P vs. FUSE for (mostly-)local uses ?
> >
> > fuse is a clever hack for doing user space fs in unix.
> > look at russ' 9pfuse in p9p.
>
> Okay, that's an FUSE-based 9p client.
> What about FUSE-based 9p servers ?
>

I don't think FUSE-based 9p servers makes any sense.  Over
simplifying, FUSE provides a user space API into the UNIX VFS layer --
9p provides an API and Protocol into Plan 9's file server interface
(which may be local kernel, local user, or across the network).

Plan 9's file server interface is an elegant (and small) approach,
UNIX VFS is a much larger, more complicated (and many would argue more
complicated and larger than necessary) interface.  Plan 9's interface
is well suited to Plan 9.  UNIX's interface is well suited to UNIX.

Now, that being said, we have 9p under UNIX (both in p9p and v9fs, and
many other incantations), and it seems to work just fine for many
things.  We took a stab at extending 9p to match some of the UNIX
semantics (links, special files, etc.) and it was called 9p2000.u and
is implemented in the v9fs client and the spfs server code (there is
an RFC if you google for it).

However, it was decided at the last IWP9 that we had probably taken
the wrong approach with 9p2000.u and it would probably have been
better to extend 9p with new operations that had different
syntax/semantics from standard 9p as these would be easier to filter
out.  I'm currently playing with a new design in my copious spare
time.

It was further suggested by some that a better approach on Linux/UNIX
would have been to take what we know from 9p and design a protocol
specific to the VFS (similar to FUSE but capable of transparent
network, etc.)

Some of the recent v9fs effort has been looking at 9p for
paravirtualized file system access between hosts using shared memory
transports.   Much initial work has been done using 9p and 9p2000.u,
but requests for more comprehensive solutions have been requested by
customers/interested-parties with full support for Linux capabilities.
 As such, there may be a foray into providing something along the
lines of a new set of extensions supporting all Linux VFS operations
(perhaps I'll call it 9p2000.l)

However, such support is mainly necessary for folks looking to remote
access feature rich on-disk file-systems.  I believe straight 9p is
more than adequate for 99% of synthetic file systems with something as
simple as 9p2000.u giving you extra bits necessary for basic UNIX
compatibility.

               -eric


  parent reply	other threads:[~2007-08-10 13:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-10 11:42 Enrico Weigelt
2007-08-10 11:57 ` Skip Tavakkolian
2007-08-10 12:19 ` Iruata Souza
     [not found] ` <2d66a95ea087868174cfdc519a48a2d7@9netics.com>
2007-08-10 12:33   ` Enrico Weigelt
2007-08-10 12:36     ` erik quanstrom
2007-08-10 12:42       ` Lucio De Re
     [not found]     ` <22bce9d3afa44ed70b739ea77d5d8046@quanstro.net>
2007-08-10 12:48       ` Enrico Weigelt
2007-08-10 13:18         ` erik quanstrom
     [not found]         ` <f17c25af999bb93211e069e6109bb154@quanstro.net>
2007-08-10 13:36           ` Enrico Weigelt
2007-08-10 13:42             ` andrey mirtchovski
2007-08-10 13:44             ` erik quanstrom
2007-08-10 13:45     ` Eric Van Hensbergen [this message]
2007-08-10 15:51       ` ron minnich
2007-08-10 16:32         ` Latchesar Ionkov
2007-08-10 16:39           ` Eric Van Hensbergen
2007-08-10 18:16           ` ron minnich
2007-08-10 18:25             ` Latchesar Ionkov
2007-08-10 18:35               ` Eric Van Hensbergen
2007-08-10 19:16       ` Uriel
2007-08-10 19:21         ` ron minnich
2007-08-10 19:29           ` Charles Forsyth
2007-08-10 21:57             ` ron minnich
2007-08-10 19:29         ` Eric Van Hensbergen
2007-08-10 19:32         ` Latchesar Ionkov
2007-08-10 19:02     ` Uriel
2007-08-10 19:21       ` Charles Forsyth
2007-08-10 19:26         ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a4e6962a0708100645o40d78c12lc3fc162cdbb22c45@mail.gmail.com \
    --to=ericvh@gmail.com \
    --cc=9fans@cse.psu.edu \
    --cc=weigelt@metux.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).