9front - general discussion about 9front
 help / color / mirror / Atom feed
From: Ori Bernstein <ori@eigenstate.org>
To: 9front@9front.org
Cc: "Joël Franusic" <joel@franusic.com>
Subject: Re: [9front] Design principles for Plan 9 file systems?
Date: Wed, 26 Jun 2024 18:14:31 -0400	[thread overview]
Message-ID: <20240626181431.f9151c7e2924c462fed22cc8@eigenstate.org> (raw)
In-Reply-To: <3fc9a9b9-931d-41eb-a6ae-edf45f876a63@app.fastmail.com>

This is a good starting point:

https://doc.cat-v.org/plan_9/misc/ubiquitous_fileserver/ubiquitous_fileserver.pdf

On Wed, 26 Jun 2024 00:50:46 -0700
Joël Franusic <joel@franusic.com> wrote:

> I'm studying the designs used by user level file servers in Plan 9 (acme, factotum, plumb, etc) and would love to talk to people who have opinions about what good "API" design looks like for a Plan 9 file system. For example: "Which file systems do you like?", "Which are worth studying?", "What are some mistakes to avoid?", etc
> 
> Ultimately, I'd like to come up with a set of guidelines or principles to follow when writing a file server such that a Plan 9 veteran could mount the provided file system and quickly understand how it works.
> 
> For references, here are the "APIs" that I've collected so far, based on what I've found in various research papers:
> 
> ACME
> 
> /mnt/acme/index
> 
> /mnt/acme/new
> 
> /mnt/acme/$n/addr
> 
> /mnt/acme/$n/body
> 
> /mnt/acme/$n/ctl
> 
> /mnt/acme/$n/data
> 
> /mnt/acme/$n/event
> 
> /mnt/acme/$n/tag
> 
> 
> Factotum
> 
> /mnt/factotum/confirm
> 
> /mnt/factotum/ctl
> 
> /mnt/factotum/log
> 
> /mnt/factotum/needkey
> 
> /mnt/factotum/proto
> 
> /mnt/factotum/rpc
> 
> 
> Plumb
> 
> /mnt/plumb/rules
> 
> /mnt/plumb/send
> 
> /mnt/plumb/edit
> 
> /mnt/plumb/web
> 
> /mnt/plumb/image
> 
> /mnt/plumb/newmail
> 
> /mnt/plumb/…
> 
> 
> All of my notes are being kept in a Google Doc for now, which is available here: https://docs.google.com/document/d/1g-GIjJRoa7yfOuSjxYG-owBwVh1QaMzOa5i19vVtxUM/edit?usp=sharing
> 
> -- 
>   Joël Franusic
>   joel@franusic.com


-- 
Ori Bernstein <ori@eigenstate.org>

  parent reply	other threads:[~2024-06-26 22:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-26  7:50 Joël Franusic
2024-06-26 21:42 ` [9front] " Anthony Martin
2024-06-26 22:14 ` Ori Bernstein [this message]
2024-06-26 22:19   ` [9front] " Joël Franusic

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=20240626181431.f9151c7e2924c462fed22cc8@eigenstate.org \
    --to=ori@eigenstate.org \
    --cc=9front@9front.org \
    --cc=joel@franusic.com \
    /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).