9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] FreeBSD 9p work
@ 2002-09-13  6:41 Geoff Collyer
  2002-09-13  7:29 ` Alexander Viro
  2002-09-13  9:41 ` Boyd Roberts
  0 siblings, 2 replies; 8+ messages in thread
From: Geoff Collyer @ 2002-09-13  6:41 UTC (permalink / raw)
  To: 9fans

I say "NFS/vfs/vnode" because the edges of those things have always
seemed blurry, but it's not essential to use NFS.  Is the vnode or VFS
machinery really not sufficiently general to handle file system
protocols other than NFS?



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

* Re: [9fans] FreeBSD 9p work
  2002-09-13  6:41 [9fans] FreeBSD 9p work Geoff Collyer
@ 2002-09-13  7:29 ` Alexander Viro
  2002-09-14  0:19   ` Ronald G Minnich
  2002-09-13  9:41 ` Boyd Roberts
  1 sibling, 1 reply; 8+ messages in thread
From: Alexander Viro @ 2002-09-13  7:29 UTC (permalink / raw)
  To: 9fans



On Thu, 12 Sep 2002, Geoff Collyer wrote:

> I say "NFS/vfs/vnode" because the edges of those things have always
> seemed blurry, but it's not essential to use NFS.  Is the vnode or VFS
> machinery really not sufficiently general to handle file system
> protocols other than NFS?

VFS is kernel mechanism - think of it as an equivalent of chan.c and
friends.  Filesystems provide methods; VFS calls them.  And that's
normal function calls.  It doesn't know anything about any protocols -
that stuff belongs to filesystem.

Notice that in Plan 9 _all_ userland filesystems are the same as far
as kernel is concerned - it's #m.  devmnt.c is just one of the kernel
filesystems and the fact that its implementation of methods happens
to talk 9P is its private business.  The rest of kernel doesn't know
or care about that.

To get 9P on FreeBSD you either need to provide a kernel filesystem
a-la devmnt.c or take existing kernel filesystem that would happen to
talk to userland and do protocol translation in userland.  In either
variant VFS will call (kernel) filesystem methods; then filesystem
will either talk 9P directly or talk some other protocol and have
userland process translate it into 9P.

The former requires writing a kernel fs.  The latter requires choosing
a protocol used by one of existing kernel filesystems and translating
between it and 9P.  AFAICS that will be messy for all such protocols -
none of them matches 9P well enough.



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

* Re: [9fans] FreeBSD 9p work
  2002-09-13  6:41 [9fans] FreeBSD 9p work Geoff Collyer
  2002-09-13  7:29 ` Alexander Viro
@ 2002-09-13  9:41 ` Boyd Roberts
  1 sibling, 0 replies; 8+ messages in thread
From: Boyd Roberts @ 2002-09-13  9:41 UTC (permalink / raw)
  To: 9fans

Geoff Collyer wrote:

> Is the vnode or VFS machinery really not sufficiently
> general to handle file system protocols other than NFS?

The VFS layer should be general enough to implement 9p,
whereas the NFS layer is not.  NFS has no close operation
which would really cause you problems with 9p.

I once wrote a version of ftpfs which ran as an NFS user
mode server.  It worked, but was an extremely ugly thing.






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

* Re: [9fans] FreeBSD 9p work
  2002-09-13  7:29 ` Alexander Viro
@ 2002-09-14  0:19   ` Ronald G Minnich
  0 siblings, 0 replies; 8+ messages in thread
From: Ronald G Minnich @ 2002-09-14  0:19 UTC (permalink / raw)
  To: 9fans

note that we have done the beginnings of private name spaces for freebsd
-- see my web page. Aaron marks wrote this. No 9p on freebsd yet.

You can use my 9p server but it conforms to 3e, assumes TCP, and has not
been tested to interoperate with plan 9 clients.

ron



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

* Re: [9fans] FreeBSD 9p work
@ 2002-09-13  8:44 nigel
  0 siblings, 0 replies; 8+ messages in thread
From: nigel @ 2002-09-13  8:44 UTC (permalink / raw)
  To: 9fans

> The former requires writing a kernel fs.  The latter requires choosing
> a protocol used by one of existing kernel filesystems and translating
> between it and 9P.  AFAICS that will be messy for all such protocols -
> none of them matches 9P well enough.

I entirely agree with this. The main userland filesystem in FreeBSD
is (I think) a compression filesystem. It works by interpreting NFS
protocol.

This is too awful to contemplate, so a VFS is the only clear way ahead.

Unfortunately, the existing implementation bears little relationship
to current FreeBSD vfs interfaces, and has other limitations which
suggest starting over is the only option.

And that's where I stop. There is no documentation for the vfs/vnode
interface. The code is not much help, and the only book on the
subject is sufficiently out of date that it would not be much help either.

I'd rather push at a door with stiff hinges, than one that's nailed shut,
so I never quite get desperate enough to do the work.

You can't help thinking "now if this kernel had a nice simple file
protocol I could transcode into 9p it would be easy" and then you
realise the only nice simple file protocol IS 9p.



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

* Re: [9fans] FreeBSD 9p work
  2002-09-13  5:28 Geoff Collyer
@ 2002-09-13  6:37 ` Alexander Viro
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Viro @ 2002-09-13  6:37 UTC (permalink / raw)
  To: 9fans



On Thu, 12 Sep 2002, Geoff Collyer wrote:

> The copy in /sys/src/cmd/unix/9pfreebsd was done for FreeBSD 3.2,
> which is pretty old now.  But with IL being phased out, you might not
> need kernel mods at all.  Using the NFS/vfs/vnode goo, you can
> probably write a user-mode file server that talks 9P to the remote
> server and NFS/vfs/vnode goo to the local client(s).

Not really - NFS semantics doesn't match 9p and writing a protocol
translator of that sort will be rather painful.



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

* Re: [9fans] FreeBSD 9p work
@ 2002-09-13  5:28 Geoff Collyer
  2002-09-13  6:37 ` Alexander Viro
  0 siblings, 1 reply; 8+ messages in thread
From: Geoff Collyer @ 2002-09-13  5:28 UTC (permalink / raw)
  To: 9fans

The copy in /sys/src/cmd/unix/9pfreebsd was done for FreeBSD 3.2,
which is pretty old now.  But with IL being phased out, you might not
need kernel mods at all.  Using the NFS/vfs/vnode goo, you can
probably write a user-mode file server that talks 9P to the remote
server and NFS/vfs/vnode goo to the local client(s).



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

* [9fans] FreeBSD 9p work
@ 2002-09-13  4:07 anothy
  0 siblings, 0 replies; 8+ messages in thread
From: anothy @ 2002-09-13  4:07 UTC (permalink / raw)
  To: 9fans

there was work done on getting IL and 9p
working inside FreeBSD. what is the current
status of this work, particularly the 9p
half? i believe it was from dong lin at the
labs, but i've been unable to find info on
it. is it - in any state - generally
available? which 9p was it? i've some
interest in getting it working in some
other BSD-derived OS, with the current 9p,
and can put in a reasonable amount of time
to get there, but it'd be nice to have
whatever already exists.
ア


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

end of thread, other threads:[~2002-09-14  0:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-13  6:41 [9fans] FreeBSD 9p work Geoff Collyer
2002-09-13  7:29 ` Alexander Viro
2002-09-14  0:19   ` Ronald G Minnich
2002-09-13  9:41 ` Boyd Roberts
  -- strict thread matches above, loose matches on Subject: below --
2002-09-13  8:44 nigel
2002-09-13  5:28 Geoff Collyer
2002-09-13  6:37 ` Alexander Viro
2002-09-13  4:07 anothy

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