9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "roger peppe" <rogpeppe@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] Easiest way to make a filesystem
Date: Mon, 14 Jan 2008 20:10:02 +0000	[thread overview]
Message-ID: <df49a7370801141210l1ea2434eje6dae25e183801ab@mail.gmail.com> (raw)
In-Reply-To: <a4e6962a0801140542l222582c1p7eda63bf1cb98fa4@mail.gmail.com>

i agree that it's too hard to create servers for simple filesystems.

i've been wondering on and off for years what a "low-bar-to-entry" filesystem
creating library might look like, and my current thoughts go something like:

- it's the generality of the problem that makes it hard. 9p allows a great
deal of freedom in implementing semantics. there's not one design that
fits all patterns.

- that said, if we restrict the problem, we can make things simpler.
inferno's file2chan is an extreme example. 9pfile is an example at the
other end of the spectrum. something that deals with stackable filesystems
would be another example - but how much generality do you go for?
change contents only? change names? add new hierarchies?
change blocking behaviour?

- it seems to me that most of the time we want "natural" (i.e.
standard filesystem) semantics
everywhere we don't specify something different. this can be looked at a kind
of inheritance, the difficulty being that the inheritance cuts across many
possible aspects of the implementation - fids, qids, tags - all of which are
expressed in very different ways in code.

- perhaps there's room for a new "little language" here; along
the lines of yacc, maybe. but, how would we *want* to
express the specification for a file server?


  reply	other threads:[~2008-01-14 20:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-14  9:11 Tom Lieber
2008-01-14  9:20 ` Christopher Nielsen
2008-01-14 13:42 ` Eric Van Hensbergen
2008-01-14 20:10   ` roger peppe [this message]
2008-01-14 20:30     ` Tom Lieber
2008-01-14 20:40     ` hiro
2008-01-14 21:00     ` Gary Wright
2008-01-14 21:10       ` roger peppe
2008-01-14 21:23         ` Gary Wright
2008-01-14 21:29     ` Roman Shaposhnik
2008-01-15 12:22       ` roger peppe

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=df49a7370801141210l1ea2434eje6dae25e183801ab@mail.gmail.com \
    --to=rogpeppe@gmail.com \
    --cc=9fans@cse.psu.edu \
    /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).