9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] fuse bashing
@ 2006-01-24 20:10 quanstro
  2006-01-24 21:37 ` Eric Van Hensbergen
  2006-01-25  0:25 ` Latchesar Ionkov
  0 siblings, 2 replies; 44+ messages in thread
From: quanstro @ 2006-01-24 20:10 UTC (permalink / raw)
  To: 9fans

On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > It appears to match the kernel better, so the implementation
> > should be simpler.  (As soon as you want to talk between
> 
> It is much simpler (and probably faster), and that's a big win for FUSE:
> 
> 	$ cat fs/fuse/*.[ch] | wc -l
> 	4073
> 
> 	$ cat 9p/*.[ch] | wc -l
> 	7271

why do you assume that line count is porportinal to
speed of execution or complexity?


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24 20:10 [9fans] fuse bashing quanstro
@ 2006-01-24 21:37 ` Eric Van Hensbergen
  2006-01-24 23:14   ` Charles Forsyth
  2006-01-25  0:26   ` Latchesar Ionkov
  2006-01-25  0:25 ` Latchesar Ionkov
  1 sibling, 2 replies; 44+ messages in thread
From: Eric Van Hensbergen @ 2006-01-24 21:37 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/24/06, quanstro@quanstro.net <quanstro@quanstro.net> wrote:
> On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > It appears to match the kernel better, so the implementation
> > > should be simpler.  (As soon as you want to talk between
> >
> > It is much simpler (and probably faster), and that's a big win for FUSE:
> >
> >       $ cat fs/fuse/*.[ch] | wc -l
> >       4073
> >
> >       $ cat 9p/*.[ch] | wc -l
> >       7271
>

There's likely quite a bit more complexity in the 9P kernel modules. 
As was pointed out earlier, FUSE basically just gateways VFS calls to
user-space.  This is an oversimplificaiton, but its not doing any of
the mapping we are doing in v9fs.

I'm not willing to say FUSE sucks, it is what it is, and for some
folks its going to be the right solution.  However, for the file
systems I wanted to write, it wasn't a good match and for file systems
of any complexity the FUSE user-space code seems to get out of hand
quickly.

Which brings up a good point for folks who are wc -l 'ing -- anyone
look at the relative sizes of ramfs coded in 9P and FUSE (including
their library code)?

        -eric


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24 21:37 ` Eric Van Hensbergen
@ 2006-01-24 23:14   ` Charles Forsyth
  2006-01-25  0:26   ` Latchesar Ionkov
  1 sibling, 0 replies; 44+ messages in thread
From: Charles Forsyth @ 2006-01-24 23:14 UTC (permalink / raw)
  To: 9fans

> systems I wanted to write, it wasn't a good match and for file systems
> of any complexity the FUSE user-space code seems to get out of hand
> quickly.

that's interesting: why is that?



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24 20:10 [9fans] fuse bashing quanstro
  2006-01-24 21:37 ` Eric Van Hensbergen
@ 2006-01-25  0:25 ` Latchesar Ionkov
  2006-01-25  1:31   ` erik quanstrom
  1 sibling, 1 reply; 44+ messages in thread
From: Latchesar Ionkov @ 2006-01-25  0:25 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Tue, Jan 24, 2006 at 02:10:41PM -0600, quanstro@quanstro.net said:
> On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > It appears to match the kernel better, so the implementation
> > > should be simpler.  (As soon as you want to talk between
> > 
> > It is much simpler (and probably faster), and that's a big win for FUSE:
> > 
> > 	$ cat fs/fuse/*.[ch] | wc -l
> > 	4073
> > 
> > 	$ cat 9p/*.[ch] | wc -l
> > 	7271
> 
> why do you assume that line count is porportinal to
> speed of execution or complexity?

Because it doesn't need to convert an alien protocol to Linux VFS. It
doesn't need to care about converting error strings to error codes,
architecture independent format for the values etc. It doesn't need to care
about unix and tcp sockets. In fact I tested the speed of fuse+fusexmpl
compared with v9fs+u9fs, and fuse is noticeably faster.

If FUSE doesn't handle the interrupts well, that in part explains why is it
smaller. The proper signal handling is one of the most complex parts in v9fs.

Thanks,
        Lucho


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24 21:37 ` Eric Van Hensbergen
  2006-01-24 23:14   ` Charles Forsyth
@ 2006-01-25  0:26   ` Latchesar Ionkov
  1 sibling, 0 replies; 44+ messages in thread
From: Latchesar Ionkov @ 2006-01-25  0:26 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Is there ramfs for FUSE?

Thanks,
        Lucho

On Tue, Jan 24, 2006 at 03:37:54PM -0600, Eric Van Hensbergen said:
> On 1/24/06, quanstro@quanstro.net <quanstro@quanstro.net> wrote:
> > On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > > It appears to match the kernel better, so the implementation
> > > > should be simpler.  (As soon as you want to talk between
> > >
> > > It is much simpler (and probably faster), and that's a big win for FUSE:
> > >
> > >       $ cat fs/fuse/*.[ch] | wc -l
> > >       4073
> > >
> > >       $ cat 9p/*.[ch] | wc -l
> > >       7271
> >
> 
> There's likely quite a bit more complexity in the 9P kernel modules. 
> As was pointed out earlier, FUSE basically just gateways VFS calls to
> user-space.  This is an oversimplificaiton, but its not doing any of
> the mapping we are doing in v9fs.
> 
> I'm not willing to say FUSE sucks, it is what it is, and for some
> folks its going to be the right solution.  However, for the file
> systems I wanted to write, it wasn't a good match and for file systems
> of any complexity the FUSE user-space code seems to get out of hand
> quickly.
> 
> Which brings up a good point for folks who are wc -l 'ing -- anyone
> look at the relative sizes of ramfs coded in 9P and FUSE (including
> their library code)?
> 
>         -eric


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  0:25 ` Latchesar Ionkov
@ 2006-01-25  1:31   ` erik quanstrom
  2006-01-25  1:40     ` Latchesar Ionkov
  0 siblings, 1 reply; 44+ messages in thread
From: erik quanstrom @ 2006-01-25  1:31 UTC (permalink / raw)
  To: 9fans, Latchesar Ionkov


On Tue Jan 24 18:24:33 CST 2006, lucho@gmx.net wrote:
> On Tue, Jan 24, 2006 at 02:10:41PM -0600, quanstro@quanstro.net said:
> > On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > > It appears to match the kernel better, so the implementation
> > > > should be simpler.  (As soon as you want to talk between
> > > 
> > > It is much simpler (and probably faster), and that's a big win for FUSE:
> > > 
> > > 	$ cat fs/fuse/*.[ch] | wc -l
> > > 	4073
> > > 
> > > 	$ cat 9p/*.[ch] | wc -l
> > > 	7271
> > 
> > why do you assume that line count is porportinal to
> > speed of execution or complexity?
> 
> Because it doesn't need to convert an alien protocol to Linux VFS. It
> doesn't need to care about converting error strings to error codes,
> architecture independent format for the values etc.

even so, these sound like simple translations. they may produce more
code, but i'm not sure they add complexity.

> It doesn't need to care
> about unix and tcp sockets. In fact I tested the speed of fuse+fusexmpl
> compared with v9fs+u9fs, and fuse is noticeably faster.

why didn't you say so? ;-)

i don't use u9fs; was there any indication that v9fs in the kernel was slow?
have you tried any p9p fileservers? tapefs seemed speedy enough:

; 9p ls tapefs
--rw-r--r-- M 0 1000 100 6749246 Feb  5  1998 cyberbit.zip
; time 9p read tapefs/cyberbit.zip > /dev/null
0.18user 0.20system 0:01.07elapsed 36%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+404minor)pagefaults 0swaps

; time cat 9/tapefs/cyberbit.zip > /dev/null
0.00user 0.01system 0:01.15elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+146minor)pagefaults 0swaps

> 
> If FUSE doesn't handle the interrupts well, that in part explains why is it
> smaller. The proper signal handling is one of the most complex parts in v9fs.
> 
> Thanks,
>         Lucho


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  1:31   ` erik quanstrom
@ 2006-01-25  1:40     ` Latchesar Ionkov
  2006-01-25  1:42       ` Eric Van Hensbergen
  0 siblings, 1 reply; 44+ messages in thread
From: Latchesar Ionkov @ 2006-01-25  1:40 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: Latchesar Ionkov

I didn't try tapefs, but ramfs in p9p is slower than u9fs (even after the
fid lookup is improved).

Thanks,
	Lucho

On Tue, Jan 24, 2006 at 07:31:44PM -0600, erik quanstrom said:
> 
> On Tue Jan 24 18:24:33 CST 2006, lucho@gmx.net wrote:
> > On Tue, Jan 24, 2006 at 02:10:41PM -0600, quanstro@quanstro.net said:
> > > On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > > > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > > > It appears to match the kernel better, so the implementation
> > > > > should be simpler.  (As soon as you want to talk between
> > > > 
> > > > It is much simpler (and probably faster), and that's a big win for FUSE:
> > > > 
> > > > 	$ cat fs/fuse/*.[ch] | wc -l
> > > > 	4073
> > > > 
> > > > 	$ cat 9p/*.[ch] | wc -l
> > > > 	7271
> > > 
> > > why do you assume that line count is porportinal to
> > > speed of execution or complexity?
> > 
> > Because it doesn't need to convert an alien protocol to Linux VFS. It
> > doesn't need to care about converting error strings to error codes,
> > architecture independent format for the values etc.
> 
> even so, these sound like simple translations. they may produce more
> code, but i'm not sure they add complexity.
> 
> > It doesn't need to care
> > about unix and tcp sockets. In fact I tested the speed of fuse+fusexmpl
> > compared with v9fs+u9fs, and fuse is noticeably faster.
> 
> why didn't you say so? ;-)
> 
> i don't use u9fs; was there any indication that v9fs in the kernel was slow?
> have you tried any p9p fileservers? tapefs seemed speedy enough:
> 
> ; 9p ls tapefs
> --rw-r--r-- M 0 1000 100 6749246 Feb  5  1998 cyberbit.zip
> ; time 9p read tapefs/cyberbit.zip > /dev/null
> 0.18user 0.20system 0:01.07elapsed 36%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (0major+404minor)pagefaults 0swaps
> 
> ; time cat 9/tapefs/cyberbit.zip > /dev/null
> 0.00user 0.01system 0:01.15elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (0major+146minor)pagefaults 0swaps
> 
> > 
> > If FUSE doesn't handle the interrupts well, that in part explains why is it
> > smaller. The proper signal handling is one of the most complex parts in v9fs.
> > 
> > Thanks,
> >         Lucho


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  1:40     ` Latchesar Ionkov
@ 2006-01-25  1:42       ` Eric Van Hensbergen
  0 siblings, 0 replies; 44+ messages in thread
From: Eric Van Hensbergen @ 2006-01-25  1:42 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Big reason is likely the page-cache.  FUSE can take full advantage
while we take overhead trying to circumvent it.  Perhaps its time to
look at putting cacheing back into v9fs.

We really need to do a performance drill-down again with a
cross-section of workloads.  I'd like to look at SDET (which is
essentially a software development based benchmark).  I'll see if I
can dig up source code.  Likely we'll need dcache and pagecache before
we'll have decent numbers, but I'd like to see how close we come
without them.

         -eric

On 1/24/06, Latchesar Ionkov <lucho@gmx.net> wrote:
> I didn't try tapefs, but ramfs in p9p is slower than u9fs (even after the
> fid lookup is improved).
>
> Thanks,
>         Lucho
>
> On Tue, Jan 24, 2006 at 07:31:44PM -0600, erik quanstrom said:
> >
> > On Tue Jan 24 18:24:33 CST 2006, lucho@gmx.net wrote:
> > > On Tue, Jan 24, 2006 at 02:10:41PM -0600, quanstro@quanstro.net said:
> > > > On Mon Jan 23 20:21:36 CST 2006, lucho@gmx.net wrote:
> > > > > On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> > > > > > It appears to match the kernel better, so the implementation
> > > > > > should be simpler.  (As soon as you want to talk between
> > > > >
> > > > > It is much simpler (and probably faster), and that's a big win for FUSE:
> > > > >
> > > > >         $ cat fs/fuse/*.[ch] | wc -l
> > > > >         4073
> > > > >
> > > > >         $ cat 9p/*.[ch] | wc -l
> > > > >         7271
> > > >
> > > > why do you assume that line count is porportinal to
> > > > speed of execution or complexity?
> > >
> > > Because it doesn't need to convert an alien protocol to Linux VFS. It
> > > doesn't need to care about converting error strings to error codes,
> > > architecture independent format for the values etc.
> >
> > even so, these sound like simple translations. they may produce more
> > code, but i'm not sure they add complexity.
> >
> > > It doesn't need to care
> > > about unix and tcp sockets. In fact I tested the speed of fuse+fusexmpl
> > > compared with v9fs+u9fs, and fuse is noticeably faster.
> >
> > why didn't you say so? ;-)
> >
> > i don't use u9fs; was there any indication that v9fs in the kernel was slow?
> > have you tried any p9p fileservers? tapefs seemed speedy enough:
> >
> > ; 9p ls tapefs
> > --rw-r--r-- M 0 1000 100 6749246 Feb  5  1998 cyberbit.zip
> > ; time 9p read tapefs/cyberbit.zip > /dev/null
> > 0.18user 0.20system 0:01.07elapsed 36%CPU (0avgtext+0avgdata 0maxresident)k
> > 0inputs+0outputs (0major+404minor)pagefaults 0swaps
> >
> > ; time cat 9/tapefs/cyberbit.zip > /dev/null
> > 0.00user 0.01system 0:01.15elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k
> > 0inputs+0outputs (0major+146minor)pagefaults 0swaps
> >
> > >
> > > If FUSE doesn't handle the interrupts well, that in part explains why is it
> > > smaller. The proper signal handling is one of the most complex parts in v9fs.
> > >
> > > Thanks,
> > >         Lucho
>


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 15:38         ` Ronald G Minnich
  2006-01-25 21:31           ` Dave Eckhardt
@ 2006-01-26  1:16           ` erik quanstrom
  1 sibling, 0 replies; 44+ messages in thread
From: erik quanstrom @ 2006-01-26  1:16 UTC (permalink / raw)
  To: 9fans, Ronald G Minnich

one could write a fileserver that allows you to give it a file
to watch and either send a plumbmsg back or write a Dir
structure back on the original fd when it changes.

i'm not sure one needs to modify the underlying filesystem.

actually making the notifier live outside the filesystem would
allow many "notifiers" running against the same fs. say 1 fs
10 notifiers and 100 clients per notifier. 

- erik

Ronald G Minnich <rminnich@lanl.gov> writes

| 
| Dave Eckhardt wrote:
| >>The big complaints I know of so far on 9P are [...]
| > 
| > 
| > If servers routinely dealt with thousands of clients and/or
| > clients with large persistent caches then some sort of
| > acceleration for cache validation might be nice--callbacks
| > (aka leases) or maybe something based on a log of
| > invalidations.
| > 
| > But given current usage patterns it's not clear there's
| > a need.
| 
| 
| except here and some other sites, where there is a burning need, and 
| current parallel file systems are not quite working (yet)
| 
| having enough thousand nodes all try to stat the same file, at the same 
| time, in a callback-based file system, can be trouble.
| 
| 
| ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 15:38         ` Ronald G Minnich
@ 2006-01-25 21:31           ` Dave Eckhardt
  2006-01-26  1:16           ` erik quanstrom
  1 sibling, 0 replies; 44+ messages in thread
From: Dave Eckhardt @ 2006-01-25 21:31 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> having enough thousand nodes all try to stat the same file, at
> the same time, in a callback-based file system, can be trouble.

Also in a non-callback-based system.

But it makes sense to issue callbacks with varying lengths so
that mad rushes tend to get smeared out.

Dave Eckhardt


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 20:51             ` Ronald G Minnich
@ 2006-01-25 21:09               ` Bruce Ellis
  0 siblings, 0 replies; 44+ messages in thread
From: Bruce Ellis @ 2006-01-25 21:09 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I have found a that a good way to handle out-of-band
messages is to have a pair of co-operating processses,
one at each end.  One makes a pipe and opens one end,
the other opens the other end of the pipe.  Then any
messages that you would like to add to 9P2k are
handled by the minions.

brucee

On 1/26/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> Christoph Lohmann wrote:
>
> > Maybe 9P2000.move will do that.
> >
> > But Tmove is really needed. I move my whole home dir around every day,
> > so I adding this operation will increase my productivity by 40%!
>
> so, you move it, and move it, and move it. So, one might say, at times
> you re-move it. To we need Tremove too :-)
>
> IT is april fools!
>
> ron
>


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 20:50           ` Ronald G Minnich
@ 2006-01-25 21:09             ` Enache Adrian
  0 siblings, 0 replies; 44+ messages in thread
From: Enache Adrian @ 2006-01-25 21:09 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Wed, Jan 25, 2006 at 01:50:09PM -0700, Ronald G Minnich wrote:
> 
> >- doesn't have a rename/move operation.
> 
> well, it has rename.

Of course, I wasn't meaning something like wstat.

> And, it should NOT have move.

why ?

Thanks,
Adi


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 20:30           ` Christoph Lohmann
@ 2006-01-25 20:51             ` Ronald G Minnich
  2006-01-25 21:09               ` Bruce Ellis
  0 siblings, 1 reply; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-25 20:51 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Christoph Lohmann wrote:

> Maybe 9P2000.move will do that.
> 
> But Tmove is really needed. I move my whole home dir around every day,
> so I adding this operation will increase my productivity by 40%!

so, you move it, and move it, and move it. So, one might say, at times 
you re-move it. To we need Tremove too :-)

IT is april fools!

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 19:58         ` Enache Adrian
  2006-01-25 20:30           ` Christoph Lohmann
@ 2006-01-25 20:50           ` Ronald G Minnich
  2006-01-25 21:09             ` Enache Adrian
  1 sibling, 1 reply; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-25 20:50 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Enache Adrian wrote:

> - doesn't have a rename/move operation.


well, it has rename. And, it should NOT have move. I don't see this as a 
problem.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25 19:58         ` Enache Adrian
@ 2006-01-25 20:30           ` Christoph Lohmann
  2006-01-25 20:51             ` Ronald G Minnich
  2006-01-25 20:50           ` Ronald G Minnich
  1 sibling, 1 reply; 44+ messages in thread
From: Christoph Lohmann @ 2006-01-25 20:30 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Good day.

On Wed, 25 Jan 2006 21:58:35 +0200
Enache Adrian <enache@rdslink.ro> wrote:

> - doesn't have a rename/move operation.

Maybe 9P2000.move will do that.

But Tmove is really needed. I move my whole home dir around every day,
so I adding this operation will increase my productivity by 40%!

Sincerely,

Christoph


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 23:28       ` Dan Cross
  2006-01-23 23:53         ` David Leimbach
  2006-01-24  0:07         ` Ronald G Minnich
@ 2006-01-25 19:58         ` Enache Adrian
  2006-01-25 20:30           ` Christoph Lohmann
  2006-01-25 20:50           ` Ronald G Minnich
  2 siblings, 2 replies; 44+ messages in thread
From: Enache Adrian @ 2006-01-25 19:58 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Mon, Jan 23, 2006 at 06:28:21PM -0500, Dan Cross wrote:
> > - there is no posix file locking (sorry, but people want it) although 
> > the 'only allow one open at a time' is a pretty damned good substitute
> > 
> > - no ACLs (I'm convinced that the stat and wstat could be trivially
> > 	extended to support this --- 9p2000.acl)
> > 
> > - doesn't fit linux vfs semantics too well (just a joke, son, but true
> >    too -- sometimes you have to fit a good thing onto a broken thing)
> > 
> I'm sure some crackhead somewhere has added ``doesn't do readlink or
> symlink'' to that list.

- doesn't have a rename/move operation.

Regards,
Adi


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  5:30       ` Dave Eckhardt
  2006-01-25  7:46         ` Jack Johnson
@ 2006-01-25 15:45         ` Ronald G Minnich
  1 sibling, 0 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-25 15:45 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Dave Eckhardt wrote:
>>no ACLs (I'm convinced that the stat and wstat could be trivially
>>extended to support this --- 9p2000.acl)
> 
> 
> I assume ACL semantics would need to be outside the protocol, but
> have you found an ACL system you like? 

I'm not so sure it has to be outside the protocol. We've already 
extended stat/wstat with .u, and it was not that big a deal. The *stat 
packets are a very good design, and I think could be stretched for ACLs.

> The part of AFS I like is that every user can define new groups.
> Once "owner" and "group" can be arbitrary sets of people, it's
> not clear to me that you need more than "owner, group, world".

Data General AOS/VS had a pretty usable ACL scheme. ACLs were simple 
sequences of tuples: (re, permission)+ -- IIRC, it's been 24 years, and 
I can't find that manual -- so, for example, you might have:
(rminnich,readwrite):(sys+, read):(myfriends, readwrite)

and so on.

In practice, everybody did user, group, world, just with re's instead of 
numbers; I think I agree with you. It's too hard to think about much 
else. I didn't say people NEED ACLs, they just WANT ACLs. As I used to 
say to my kids all the time, "You don't need that, you want that". After 
about 10 years, they got my point.

ACLs are the new fad, and they're going in, with silly bugs to boot 
(ACLs have been NOT fun on linux), and I really doubt in the end we'll 
go much beyond user, group, world.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  5:29       ` Dave Eckhardt
@ 2006-01-25 15:38         ` Ronald G Minnich
  2006-01-25 21:31           ` Dave Eckhardt
  2006-01-26  1:16           ` erik quanstrom
  0 siblings, 2 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-25 15:38 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Dave Eckhardt wrote:
>>The big complaints I know of so far on 9P are [...]
> 
> 
> If servers routinely dealt with thousands of clients and/or
> clients with large persistent caches then some sort of
> acceleration for cache validation might be nice--callbacks
> (aka leases) or maybe something based on a log of
> invalidations.
> 
> But given current usage patterns it's not clear there's
> a need.


except here and some other sites, where there is a burning need, and 
current parallel file systems are not quite working (yet)

having enough thousand nodes all try to stat the same file, at the same 
time, in a callback-based file system, can be trouble.


ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* RE: [9fans] fuse bashing
  2006-01-25  8:11           ` Lyndon Nerenberg
  2006-01-25  8:18             ` Lyndon Nerenberg
@ 2006-01-25  9:46             ` Andriy G. Tereshchenko
  1 sibling, 0 replies; 44+ messages in thread
From: Andriy G. Tereshchenko @ 2006-01-25  9:46 UTC (permalink / raw)
  To: 'Fans of the OS Plan 9 from Bell Labs'

>  Thus an application that does it's work on a temporary file and then does
the 'unlink(foo); rename(tmp,foo)' dance loses the ACL attributes (and other
metadata). 
Even MS has issues with this - they try to address it with  "File System
Tunneling Effect" - http://support.microsoft.com/?kbid=172190





^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  8:11           ` Lyndon Nerenberg
@ 2006-01-25  8:18             ` Lyndon Nerenberg
  2006-01-25  9:46             ` Andriy G. Tereshchenko
  1 sibling, 0 replies; 44+ messages in thread
From: Lyndon Nerenberg @ 2006-01-25  8:18 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs


> Thus an application that does it's work on a temporary file and  
> then does the 'unlink(foo); rename(tmp,foo)' dance

And before anyone flames: yes, I've run into UNIXen where the unlink  
was necessary :-P

--lyndon


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  7:46         ` Jack Johnson
@ 2006-01-25  8:11           ` Lyndon Nerenberg
  2006-01-25  8:18             ` Lyndon Nerenberg
  2006-01-25  9:46             ` Andriy G. Tereshchenko
  0 siblings, 2 replies; 44+ messages in thread
From: Lyndon Nerenberg @ 2006-01-25  8:11 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs


On Jan 24, 2006, at 11:46 PM, Jack Johnson wrote:

> Not ACLs, but I've thought it would be nice to reuse SSH keys and
> maybe make another dot-directory, and anyone with a matching public
> key in the dot-directory would have access to it, similar to
> .ssh/authorized_keys but with a separate file per user.

But these *are* ACLs, and by putting them into the filesystem you're  
trying to protect you create an intractable recursive problem: how to  
protect the ACLs with themselves.

To secure the filesystem you have to isolate this metadata. The  
problem to date is that nobody has figured out a clean way of doing  
this in a way that makes it simple to administer -- and maintain --  
the ACLs (and other crud).  E.g. FreeBSD supports ACLs in the  
filesystem, but all the tools that manipulate files need to be  
cognizant of them, and sadly, most aren't.  Thus an application that  
does it's work on a temporary file and then does the 'unlink(foo);  
rename(tmp,foo)' dance loses the ACL attributes (and other  
metadata).  On occasion I wonder if this asks for a replace(a,b)  
syscall that does the equivalent atomic unlink+rename while  
preserving the metadata (ACLs, MAC labels, etc) associated with the  
original file.

--lyndon


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-25  5:30       ` Dave Eckhardt
@ 2006-01-25  7:46         ` Jack Johnson
  2006-01-25  8:11           ` Lyndon Nerenberg
  2006-01-25 15:45         ` Ronald G Minnich
  1 sibling, 1 reply; 44+ messages in thread
From: Jack Johnson @ 2006-01-25  7:46 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/24/06, Dave Eckhardt <davide+p9@cs.cmu.edu> wrote:
> The part of AFS I like is that every user can define new groups.

Not ACLs, but I've thought it would be nice to reuse SSH keys and
maybe make another dot-directory, and anyone with a matching public
key in the dot-directory would have access to it, similar to
.ssh/authorized_keys but with a separate file per user.  Maybe have a
hierarchy inside to determine which operations were allowed by which
keysets.

That way the owner(s) could assign arbitrary permissions without any
third-party intervention, and potentially cross administrative realms.
 It could even be relatively cross-platform, something you could do
with a GUI on other OSes in a way semi-intuitive for newbies.  The key
processing would probably add too much overhead for general use, but
the tradeoff might be worth it for those instances where you're trying
to facilitate certain kinds of data sharing.

-Jack


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 20:33     ` Ronald G Minnich
                         ` (2 preceding siblings ...)
  2006-01-25  5:29       ` Dave Eckhardt
@ 2006-01-25  5:30       ` Dave Eckhardt
  2006-01-25  7:46         ` Jack Johnson
  2006-01-25 15:45         ` Ronald G Minnich
  3 siblings, 2 replies; 44+ messages in thread
From: Dave Eckhardt @ 2006-01-25  5:30 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> no ACLs (I'm convinced that the stat and wstat could be trivially
> extended to support this --- 9p2000.acl)

I assume ACL semantics would need to be outside the protocol, but
have you found an ACL system you like?  AFS ACLs are usable but
not "obvious"; DFS (Son of AFS) ACLs are much more complicated
and, I think, hence less usable; Linux ACLs (at least the Red Hat
flavor) couldn't encode some natural-seeming thing my brother
wanted to do--I don't think it's a coincidence that the POSIX
committee came apart before completion.

The part of AFS I like is that every user can define new groups.
Once "owner" and "group" can be arbitrary sets of people, it's
not clear to me that you need more than "owner, group, world".
You can always come up with complicated scenarios, but in my
experience many complicated ACLs are wrong if you look carefully
at them.

Dave Eckhardt


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 20:33     ` Ronald G Minnich
  2006-01-23 23:28       ` Dan Cross
  2006-01-24  0:12       ` John Barham
@ 2006-01-25  5:29       ` Dave Eckhardt
  2006-01-25 15:38         ` Ronald G Minnich
  2006-01-25  5:30       ` Dave Eckhardt
  3 siblings, 1 reply; 44+ messages in thread
From: Dave Eckhardt @ 2006-01-25  5:29 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> The big complaints I know of so far on 9P are [...]

If servers routinely dealt with thousands of clients and/or
clients with large persistent caches then some sort of
acceleration for cache validation might be nice--callbacks
(aka leases) or maybe something based on a log of
invalidations.

But given current usage patterns it's not clear there's
a need.

Dave Eckhardt


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24  9:41     ` Charles Forsyth
@ 2006-01-24 10:04       ` Charles Forsyth
  0 siblings, 0 replies; 44+ messages in thread
From: Charles Forsyth @ 2006-01-24 10:04 UTC (permalink / raw)
  To: 9fans

> i'm not surprised everything has fallen on the broad shoulders of apache.
> no, that can't be right: that must be ajax.

classically it would be atlas, of course, but that's something different.



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
       [not found] <000001c620ca$f86f1570$14aaa8c0@utelsystems.local>
@ 2006-01-24  9:46 ` "Nils O. Selåsdal"
  0 siblings, 0 replies; 44+ messages in thread
From: "Nils O. Selåsdal" @ 2006-01-24  9:46 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Charles Forsyth wrote:
> 
> i'm not surprised everything has fallen on the broad shoulders of apache.
> no, that can't be right: that must be ajax.  interesting nomenclature:
> apache, tomcat, jaguar, ..., all suggest potential for blood and pain to me.
> or is it appealing to the warrior in the geek?

I guess even warriors vomits every so often.



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24  8:37   ` Charles Forsyth
@ 2006-01-24  9:41     ` Charles Forsyth
  2006-01-24 10:04       ` Charles Forsyth
  0 siblings, 1 reply; 44+ messages in thread
From: Charles Forsyth @ 2006-01-24  9:41 UTC (permalink / raw)
  To: 9fans

i probably ought to make clear that i have not been commenting on the
quality of the code of fuse--not at all--but rather various limitations of what it does,
and (to be fair to it even more) of the creaky system(s) beneath it.

as Tad used to say, though, about yet another attempt to
make anything interesting look as boring as everything else,
``come on [X], it's the 90s!!'' (and that was last century!)

at least to me, distribution is a big task of systems now, on
increasingly large scale and range.  space, the final frontier;
something like that.  it's hard enough as it is, but linux seems
currently no help whatsoever: each system is still stuck in its own
little box, fretting about those tlbs.  `distribution' occurs mainly
in discussing which new ones turned up this month.

i'm not surprised everything has fallen on the broad shoulders of apache.
no, that can't be right: that must be ajax.  interesting nomenclature:
apache, tomcat, jaguar, ..., all suggest potential for blood and pain to me.
or is it appealing to the warrior in the geek?



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-24  2:22 ` Latchesar Ionkov
@ 2006-01-24  8:37   ` Charles Forsyth
  2006-01-24  9:41     ` Charles Forsyth
  0 siblings, 1 reply; 44+ messages in thread
From: Charles Forsyth @ 2006-01-24  8:37 UTC (permalink / raw)
  To: 9fans

> It is much simpler (and probably faster), and that's a big win for FUSE:

given that it evades some problems (particularly in the kernel interface
wrt messed-up cache schemes, and being able to interrupt things, and
a few other things i noticed in my own survey last year, not to mention
portability), i'm not at all surprised fuse is currently smaller.



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:06 Russ Cox
  2006-01-23 17:28 ` Ronald G Minnich
  2006-01-23 17:51 ` C H Forsyth
@ 2006-01-24  2:22 ` Latchesar Ionkov
  2006-01-24  8:37   ` Charles Forsyth
  2 siblings, 1 reply; 44+ messages in thread
From: Latchesar Ionkov @ 2006-01-24  2:22 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Mon, Jan 23, 2006 at 12:06:09PM -0500, Russ Cox said:
> It appears to match the kernel better, so the implementation
> should be simpler.  (As soon as you want to talk between

It is much simpler (and probably faster), and that's a big win for FUSE:

	$ cat fs/fuse/*.[ch] | wc -l
	4073

	$ cat 9p/*.[ch] | wc -l
	7271

And v9fs doesn't even have full 9P support (all users share single attach
for example).

V9fs's big plus is that it is network ready and has some form of
authentication.

I didn't see many interesting file systems on the FUSE page. I think that
v9fs can become very popular as long as we create enough useful file servers
(and even more important, write good documentation).

	Lucho


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 20:33     ` Ronald G Minnich
  2006-01-23 23:28       ` Dan Cross
@ 2006-01-24  0:12       ` John Barham
  2006-01-25  5:29       ` Dave Eckhardt
  2006-01-25  5:30       ` Dave Eckhardt
  3 siblings, 0 replies; 44+ messages in thread
From: John Barham @ 2006-01-24  0:12 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/24/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> David Leimbach wrote:
>
> > I don't know too much about the limitations of 9P... and this choir
> > isn't likely to sing them [no offense but it is called 9fans after
> > all]
>
> The big complaints I know of so far on 9P are
>
> - there is no posix file locking (sorry, but people want it) although
> the 'only allow one open at a time' is a pretty damned good substitute
>
> - no ACLs (I'm convinced that the stat and wstat could be trivially
>         extended to support this --- 9p2000.acl)
>
> - doesn't fit linux vfs semantics too well (just a joke, son, but true
>     too -- sometimes you have to fit a good thing onto a broken thing)
>
> That's about all I've hit so far.

How about the potential performance hit of having to issue multiple
reads for a large file (vs. a single retr in ftp, for example), or has
fcp solved that problem adequately?

> I spent about 5 years hacking on nfs,
> and I have to say 9p is a way better protocol.

Ditto for WebDAV which is incredibly verbose for something as simple
as a directory listing.

  John


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 23:28       ` Dan Cross
  2006-01-23 23:53         ` David Leimbach
@ 2006-01-24  0:07         ` Ronald G Minnich
  2006-01-25 19:58         ` Enache Adrian
  2 siblings, 0 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-24  0:07 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Dan Cross wrote:

> I'm sure some crackhead somewhere has added ``doesn't do readlink or
> symlink'' to that list.


When I first did v9fs in 1996 or so, I left out symlink/readlink. Life 
was impossible. I had to put 'em in :-(

They are also in the version on 2.6.15

hey, you and I had this 'on crack' discussion last time.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 23:28       ` Dan Cross
@ 2006-01-23 23:53         ` David Leimbach
  2006-01-24  0:07         ` Ronald G Minnich
  2006-01-25 19:58         ` Enache Adrian
  2 siblings, 0 replies; 44+ messages in thread
From: David Leimbach @ 2006-01-23 23:53 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 926 bytes --]

On 1/23/06, Dan Cross <cross@math.psu.edu> wrote:
>
> On Mon, Jan 23, 2006 at 01:33:35PM -0700, Ronald G Minnich wrote:
> > The big complaints I know of so far on 9P are
> >
> > - there is no posix file locking (sorry, but people want it) although
> > the 'only allow one open at a time' is a pretty damned good substitute
> >
> > - no ACLs (I'm convinced that the stat and wstat could be trivially
> >       extended to support this --- 9p2000.acl)
> >
> > - doesn't fit linux vfs semantics too well (just a joke, son, but true
> >    too -- sometimes you have to fit a good thing onto a broken thing)
> >
> > That's about all I've hit so far. I spent about 5 years hacking on nfs,
> > and I have to say 9p is a way better protocol.
>
> I'm sure some crackhead somewhere has added ``doesn't do readlink or
> symlink'' to that list.



They might if they're on a unix system with no private namespaces.

[-- Attachment #2: Type: text/html, Size: 1322 bytes --]

^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 20:33     ` Ronald G Minnich
@ 2006-01-23 23:28       ` Dan Cross
  2006-01-23 23:53         ` David Leimbach
                           ` (2 more replies)
  2006-01-24  0:12       ` John Barham
                         ` (2 subsequent siblings)
  3 siblings, 3 replies; 44+ messages in thread
From: Dan Cross @ 2006-01-23 23:28 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Mon, Jan 23, 2006 at 01:33:35PM -0700, Ronald G Minnich wrote:
> The big complaints I know of so far on 9P are
> 
> - there is no posix file locking (sorry, but people want it) although 
> the 'only allow one open at a time' is a pretty damned good substitute
> 
> - no ACLs (I'm convinced that the stat and wstat could be trivially
> 	extended to support this --- 9p2000.acl)
> 
> - doesn't fit linux vfs semantics too well (just a joke, son, but true
>    too -- sometimes you have to fit a good thing onto a broken thing)
> 
> That's about all I've hit so far. I spent about 5 years hacking on nfs, 
> and I have to say 9p is a way better protocol.

I'm sure some crackhead somewhere has added ``doesn't do readlink or
symlink'' to that list.

	- Dan C.



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 20:31   ` David Leimbach
@ 2006-01-23 20:33     ` Ronald G Minnich
  2006-01-23 23:28       ` Dan Cross
                         ` (3 more replies)
  0 siblings, 4 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-23 20:33 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

David Leimbach wrote:

> I don't know too much about the limitations of 9P... and this choir
> isn't likely to sing them [no offense but it is called 9fans after
> all]

The big complaints I know of so far on 9P are

- there is no posix file locking (sorry, but people want it) although 
the 'only allow one open at a time' is a pretty damned good substitute

- no ACLs (I'm convinced that the stat and wstat could be trivially
	extended to support this --- 9p2000.acl)

- doesn't fit linux vfs semantics too well (just a joke, son, but true
    too -- sometimes you have to fit a good thing onto a broken thing)

That's about all I've hit so far. I spent about 5 years hacking on nfs, 
and I have to say 9p is a way better protocol.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:28 ` Ronald G Minnich
  2006-01-23 17:44   ` David Leimbach
  2006-01-23 18:07   ` Eric Van Hensbergen
@ 2006-01-23 20:31   ` David Leimbach
  2006-01-23 20:33     ` Ronald G Minnich
  2 siblings, 1 reply; 44+ messages in thread
From: David Leimbach @ 2006-01-23 20:31 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/23/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> In fact, fuse may be just good enough, and v9fs came in just late
> enough, that in the long term, fuse is what "wins" on linux, in the
> sense that most people may end up using fuse, since there are already
> pretty good examples for people to follow. We'll see.
>
> ron
>

Well are there differences in maximum file sizes exposable via 9p vs
FUSE?  I'd like to see more of a feature breakdown.

I don't know too much about the limitations of 9P... and this choir
isn't likely to sing them [no offense but it is called 9fans after
all]

Dave


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:46   ` David Leimbach
@ 2006-01-23 20:08     ` Ronald G Minnich
  0 siblings, 0 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-23 20:08 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

David Leimbach wrote:

> Not sure how well-received it all was.

NIH, a powerful force in our "open" OS community.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:51 ` C H Forsyth
  2006-01-23 17:46   ` David Leimbach
@ 2006-01-23 18:46   ` Skip Tavakkolian
  1 sibling, 0 replies; 44+ messages in thread
From: Skip Tavakkolian @ 2006-01-23 18:46 UTC (permalink / raw)
  To: 9fans

> let alone between hosts.  ``right everybody, change protocols!''

does it have a "version" message?



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 18:07   ` Eric Van Hensbergen
@ 2006-01-23 18:13     ` Bruce Ellis
  0 siblings, 0 replies; 44+ messages in thread
From: Bruce Ellis @ 2006-01-23 18:13 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

More protocols!  More conversions!

Call me old-fashioned but i still use styx whenever possible.
Some people like metallica, i like berlioz.

brucee

On 1/24/06, Eric Van Hensbergen <ericvh@gmail.com> wrote:
> On 1/23/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> > In fact, fuse may be just good enough, and v9fs came in just late
> > enough, that in the long term, fuse is what "wins" on linux, in the
> > sense that most people may end up using fuse, since there are already
> > pretty good examples for people to follow. We'll see.
> >
>
> Lucho's made some good progress on this front.  We've proposed a
> tutorial at OLS (which may also generate a DeveloperWorks tutorial)
> which will cover how to write synthetic file systems for 9P and also
> cover some of the tradeoffs between 9P and FUSE.
>
>       -eric
>


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:28 ` Ronald G Minnich
  2006-01-23 17:44   ` David Leimbach
@ 2006-01-23 18:07   ` Eric Van Hensbergen
  2006-01-23 18:13     ` Bruce Ellis
  2006-01-23 20:31   ` David Leimbach
  2 siblings, 1 reply; 44+ messages in thread
From: Eric Van Hensbergen @ 2006-01-23 18:07 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/23/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> In fact, fuse may be just good enough, and v9fs came in just late
> enough, that in the long term, fuse is what "wins" on linux, in the
> sense that most people may end up using fuse, since there are already
> pretty good examples for people to follow. We'll see.
>

Lucho's made some good progress on this front.  We've proposed a
tutorial at OLS (which may also generate a DeveloperWorks tutorial)
which will cover how to write synthetic file systems for 9P and also
cover some of the tradeoffs between 9P and FUSE.

       -eric


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:06 Russ Cox
  2006-01-23 17:28 ` Ronald G Minnich
@ 2006-01-23 17:51 ` C H Forsyth
  2006-01-23 17:46   ` David Leimbach
  2006-01-23 18:46   ` Skip Tavakkolian
  2006-01-24  2:22 ` Latchesar Ionkov
  2 siblings, 2 replies; 44+ messages in thread
From: C H Forsyth @ 2006-01-23 17:51 UTC (permalink / raw)
  To: 9fans

> If you download a fuse distribution and look in
> kernel/fuse_kernel.h you can see the messages.

which i did, to do a limbo version.
then i found that as i expected, they'd screwed up the exchange
between kernel and user level so that the same component didn't
work even between 64-bit and 32-bit environments on the same host,
let alone between hosts.  ``right everybody, change protocols!''
then i found that they couldn't get the interrupt
stuff working properly, so they ifdef'd it out and hacked it.
then i found ...

after a time, one gets tired of reading badly-worked out
implementations of badly-thought out ideas.

i don't care who was first.
the question is: what is right?

they should have done a little `research' first, before jumping in there,
``first one to the keyboard wins!''



^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:51 ` C H Forsyth
@ 2006-01-23 17:46   ` David Leimbach
  2006-01-23 20:08     ` Ronald G Minnich
  2006-01-23 18:46   ` Skip Tavakkolian
  1 sibling, 1 reply; 44+ messages in thread
From: David Leimbach @ 2006-01-23 17:46 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/23/06, C H Forsyth <forsyth@vitanuova.com> wrote:
> > If you download a fuse distribution and look in
> > kernel/fuse_kernel.h you can see the messages.
>
> which i did, to do a limbo version.
> then i found that as i expected, they'd screwed up the exchange
> between kernel and user level so that the same component didn't
> work even between 64-bit and 32-bit environments on the same host,
> let alone between hosts.  ``right everybody, change protocols!''
> then i found that they couldn't get the interrupt
> stuff working properly, so they ifdef'd it out and hacked it.
> then i found ...
>
> after a time, one gets tired of reading badly-worked out
> implementations of badly-thought out ideas.
>
> i don't care who was first.
> the question is: what is right?
>
> they should have done a little `research' first, before jumping in there,
> ``first one to the keyboard wins!''
>
>

DragonFlyBSD also is supposed to get VFS messaging.... but I think
that will be the basis of the entire VFS, it's hard to say where they
are now.  I mentioned a few times on their list that they might want
to at least look at 9P... and that people may be interested in writing
DFly VFS->9P translation servers at some point.

Not sure how well-received it all was.

Dave


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:28 ` Ronald G Minnich
@ 2006-01-23 17:44   ` David Leimbach
  2006-01-23 18:07   ` Eric Van Hensbergen
  2006-01-23 20:31   ` David Leimbach
  2 siblings, 0 replies; 44+ messages in thread
From: David Leimbach @ 2006-01-23 17:44 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 1/23/06, Ronald G Minnich <rminnich@lanl.gov> wrote:
> In fact, fuse may be just good enough, and v9fs came in just late
> enough, that in the long term, fuse is what "wins" on linux, in the
> sense that most people may end up using fuse, since there are already
> pretty good examples for people to follow. We'll see.
>
> ron
>

FUSE also currently works fine on FreeBSD 6.  I have it here.

Dave


^ permalink raw reply	[flat|nested] 44+ messages in thread

* Re: [9fans] fuse bashing
  2006-01-23 17:06 Russ Cox
@ 2006-01-23 17:28 ` Ronald G Minnich
  2006-01-23 17:44   ` David Leimbach
                     ` (2 more replies)
  2006-01-23 17:51 ` C H Forsyth
  2006-01-24  2:22 ` Latchesar Ionkov
  2 siblings, 3 replies; 44+ messages in thread
From: Ronald G Minnich @ 2006-01-23 17:28 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

In fact, fuse may be just good enough, and v9fs came in just late 
enough, that in the long term, fuse is what "wins" on linux, in the 
sense that most people may end up using fuse, since there are already 
pretty good examples for people to follow. We'll see.

ron


^ permalink raw reply	[flat|nested] 44+ messages in thread

* [9fans] fuse bashing
@ 2006-01-23 17:06 Russ Cox
  2006-01-23 17:28 ` Ronald G Minnich
                   ` (2 more replies)
  0 siblings, 3 replies; 44+ messages in thread
From: Russ Cox @ 2006-01-23 17:06 UTC (permalink / raw)
  To: 9fans

Fuse has a nice crunchy layer of GNU crud around it
which makes it hard to swallow, but at its core, it's
very close to 9P (or the version 8 network file system).

You open /dev/fuse, hand the fd to the kernel to mount
it somewhere, and then you read and write fuse messages
on the fd.  All the kernel vfs operations end up as fuse 
messages, including close.  (It just isn't used in examples,
but it does exist.  It's called release.)  The main failing I see
from a protocol standpoint seems to be the lack of a flush
message.  Instead, fuse just puts interrupted requests on
a list and assumes they'll come back eventually.  
This wouldn't be appropriate for things like interrupting
a read from /dev/tty.  For mounting file systems on a 
Unix system, fuse is probably a better protocol than 9P.
It appears to match the kernel better, so the implementation
should be simpler.  (As soon as you want to talk between
different operating systems or send the messages over
the network, that's where 9P starts to make more sense.)

Fuse's main problem is that they bundle the protocol inside
the library loop, so what you see from the outside is the
equivalent of 9P+lib9p.  You don't ever get to see the protocol
by itself.  That's often good enough, but sometimes it's nice
to deal with the raw messages.  Another big problem with
fuse is the lack of easily-found documentation.  

If you download a fuse distribution and look in
kernel/fuse_kernel.h you can see the messages.

Russ


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2006-01-26  1:16 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-24 20:10 [9fans] fuse bashing quanstro
2006-01-24 21:37 ` Eric Van Hensbergen
2006-01-24 23:14   ` Charles Forsyth
2006-01-25  0:26   ` Latchesar Ionkov
2006-01-25  0:25 ` Latchesar Ionkov
2006-01-25  1:31   ` erik quanstrom
2006-01-25  1:40     ` Latchesar Ionkov
2006-01-25  1:42       ` Eric Van Hensbergen
     [not found] <000001c620ca$f86f1570$14aaa8c0@utelsystems.local>
2006-01-24  9:46 ` "Nils O. Selåsdal"
  -- strict thread matches above, loose matches on Subject: below --
2006-01-23 17:06 Russ Cox
2006-01-23 17:28 ` Ronald G Minnich
2006-01-23 17:44   ` David Leimbach
2006-01-23 18:07   ` Eric Van Hensbergen
2006-01-23 18:13     ` Bruce Ellis
2006-01-23 20:31   ` David Leimbach
2006-01-23 20:33     ` Ronald G Minnich
2006-01-23 23:28       ` Dan Cross
2006-01-23 23:53         ` David Leimbach
2006-01-24  0:07         ` Ronald G Minnich
2006-01-25 19:58         ` Enache Adrian
2006-01-25 20:30           ` Christoph Lohmann
2006-01-25 20:51             ` Ronald G Minnich
2006-01-25 21:09               ` Bruce Ellis
2006-01-25 20:50           ` Ronald G Minnich
2006-01-25 21:09             ` Enache Adrian
2006-01-24  0:12       ` John Barham
2006-01-25  5:29       ` Dave Eckhardt
2006-01-25 15:38         ` Ronald G Minnich
2006-01-25 21:31           ` Dave Eckhardt
2006-01-26  1:16           ` erik quanstrom
2006-01-25  5:30       ` Dave Eckhardt
2006-01-25  7:46         ` Jack Johnson
2006-01-25  8:11           ` Lyndon Nerenberg
2006-01-25  8:18             ` Lyndon Nerenberg
2006-01-25  9:46             ` Andriy G. Tereshchenko
2006-01-25 15:45         ` Ronald G Minnich
2006-01-23 17:51 ` C H Forsyth
2006-01-23 17:46   ` David Leimbach
2006-01-23 20:08     ` Ronald G Minnich
2006-01-23 18:46   ` Skip Tavakkolian
2006-01-24  2:22 ` Latchesar Ionkov
2006-01-24  8:37   ` Charles Forsyth
2006-01-24  9:41     ` Charles Forsyth
2006-01-24 10:04       ` Charles Forsyth

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).