From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <9front-bounces@9front.inri.net> X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, T_KAM_HTML_FONT_INVALID autolearn=ham autolearn_force=no version=3.4.4 Received: from 9front.inri.net (9front.inri.net [168.235.81.73]) by inbox.vuxu.org (Postfix) with ESMTP id 0F92B21538 for ; Wed, 26 Jun 2024 09:53:28 +0200 (CEST) Received: from fout5-smtp.messagingengine.com ([103.168.172.148]) by 9front; Wed Jun 26 03:51:09 -0400 2024 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfout.nyi.internal (Postfix) with ESMTP id 540E7138006E for <9front@9front.org>; Wed, 26 Jun 2024 03:51:08 -0400 (EDT) Received: from imap43 ([10.202.2.93]) by compute6.internal (MEProxy); Wed, 26 Jun 2024 03:51:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=franusic.com; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1719388268; x=1719474668; bh=rG8E+M+MCq2S/MKcAdImJ+UrfQ1DX3RQ XF/nRvSVLZc=; b=eDYfLpXJHq4LxYyWiFsHZDE0fvwFpTN5PjcT+xI8bHjyQsPn 4zegraeK2SEtyi3bmepd2lEmDE1gnLk/Jhz3WNBXD42JHpdDn6BqQFK/D/nAoM+Z bK9fIbBsfdlPuR8mSaJS++Dcn+nRHmrUGrFx5aHjKGlA8bsEtHoNSZRiUlDOsgu1 0Njuq9EJU09ayfCnPMdtml7+jsxKXH4kDQtIbYLtodaSmTqJ2vGyEip4dA/xfjhD JSqfa2gbRmOB7Cx8+xF5YCaQZ6xPJarysUYkfsivgHabFKDsbUGbgoTTiSVN4yV1 wQYZmqcuT4k+t26j2S3PQWispd6waeI3jexPCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1719388268; x=1719474668; bh=rG8E+M+MCq2S/MKcAdImJ+UrfQ1DX3RQXF/ nRvSVLZc=; b=ujpekTH1wEn7CPTzADK71O7NYbGDqjFk1w7ybNcOSEMQ/Hx+DEV QKYjaSwbJVaLUxPAkrLXtgtk1HJ8FGC6YAVoZqOzszrAK3Iz6RlfGqzkLgjQixwx uDXcM8LKu68iPvEBc1pCzw8WEC6+aqYeCeEcBV6glqCt3J8GsJiMpHl93RgzWdLY aB3/RAOerAs+QtdR9bWjd6+FdN/byyPYdCe1oxbAW51o8UY+uGSz3bV9YKp54svL rzNsm/nOykbuXIMw2yb+nOYz2g+LjTAr0jcRo2UA27TiKtA/OyP82jAx1Ozo18Ve daEOuknzaBAZYzzUbq2v7vsKiChuIZ6EFgw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrtddugdduvdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoufhushhpvggtthffohhmrghinhculdegledmne cujfgurhepofgfggfkfffhvffutgesrgdtreerreerjeenucfhrhhomheplfhotohlucfh rhgrnhhushhitgcuoehjohgvlhesfhhrrghnuhhsihgtrdgtohhmqeenucggtffrrghtth gvrhhnpedvgeehfeegleduieehieeuteefvdffvdeuvdfgudeifeettdejgeevheehgefh ffenucffohhmrghinhepghhoohhglhgvrdgtohhmnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepjhhovghlsehfrhgrnhhushhitgdrtghomh X-ME-Proxy: Feedback-ID: ief90403b:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 0EDA42D4007D; Wed, 26 Jun 2024 03:51:08 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-538-g1508afaa2-fm-20240616.001-g1508afaa MIME-Version: 1.0 Message-Id: <3fc9a9b9-931d-41eb-a6ae-edf45f876a63@app.fastmail.com> Date: Wed, 26 Jun 2024 00:50:46 -0700 From: =?UTF-8?Q?Jo=C3=ABl_Franusic?= To: 9front@9front.org Content-Type: multipart/alternative; boundary=2065727cb80d41e19c6b7598936b3141 List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: secure map/reduce solution Subject: [9front] Design principles for Plan 9 file systems? Reply-To: 9front@9front.org Precedence: bulk --2065727cb80d41e19c6b7598936b3141 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 opinio= ns 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 t= o follow when writing a file server such that a Plan 9 veteran could mou= nt 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/=E2=80=A6 All of my notes are being kept in a Google Doc for now, which is availab= le here: https://docs.google.com/document/d/1g-GIjJRoa7yfOuSjxYG-owBwVh1= QaMzOa5i19vVtxUM/edit?usp=3Dsharing --=20 Jo=C3=ABl Franusic joel@franusic.com --2065727cb80d41e19c6b7598936b3141 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: quoted-printable
I'm studying th= e designs used by user level file servers in Plan 9 (acme, factotum, plu= mb, etc) and would love to talk to people who have opinions about what g= ood "API" design looks like for a Plan 9 file system. For example: "Whic= h file systems do you like?", "Which are worth studying?", "What are som= e mistakes to avoid?", etc

Ultimately, I'd = like to come up with a set of guidelines or principles to follow when wr= iting 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, ba= sed 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

=

/mn= t/plumb/rules

/mnt/plumb/send

/mnt= /plumb/edit

/mnt/plumb/web

/mnt/pl= umb/image

/mnt/plumb/newmail
=

/mnt/= plumb/=E2=80=A6


All of m= y 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=3Dsharing

-- 
  Jo=C3=ABl Fran= usic
--2065727cb80d41e19c6b7598936b3141--