9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Geoff Collyer <geoff@collyer.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] FS question
Date: Mon, 10 Nov 2003 16:01:41 -0800	[thread overview]
Message-ID: <95ca4651d6ef63b8d5f5cbdc9b8749b7@collyer.net> (raw)
In-Reply-To: <opryfl5qnarveh1e@smtp.borf.com>

I didn't use the original Unix file system, but the V6-era (ca. 1975)
one was simple yet provided substantial utility.  The main uses of
links that I can recall were locking and renaming.  Linking to an
agreed-upon name was atomic and formed the basis for most locking by
cooperating processes before things like lockf and flock (and
eventually the 'l' bit).

Renaming was done by linking from the old name to the new, then
removing the old name (if the link succeeded).  This even worked for
directories (adding some fiddling with ..  entries) and let one move
files and directories anywhere within a given file system's directory
tree.  The modern (Berkeley) rename() primitive is by contrast very
difficult to get right, taking into account races and potential errors
of various sorts.  The one thing that links permitted and that I miss
in Plan 9 is being able to efficiently move directories arbitrarily
within a file system, though it's less of an issue than on Unix, where
shuffling directory hierarchies was the vendors' and standards bodies'
equivalent of corporate reorganisation (i.e., we'll rename everything
and hope that nobody notices that we haven't done much else).



  parent reply	other threads:[~2003-11-11  0:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-10 14:01 Brantley Coile
2003-11-10 15:07 ` Russ Cox
2003-11-10 17:14   ` Brantley Coile
2003-11-10 17:43     ` Russ Cox
2003-11-10 17:49       ` Sape Mullender
2003-11-11  1:47         ` Dennis Ritchie
2003-11-11  0:01     ` Geoff Collyer [this message]
2003-11-13  0:10     ` Charles Forsyth
2003-11-10 16:40 ` Rob Pike
2003-11-10 17:09   ` Brantley Coile
2003-11-10 17:39     ` ron minnich
2003-11-11  2:30 bruce
2003-11-11 10:26 ` Bruce Ellis
2003-11-11 12:28   ` Lucio De Re
2003-11-12 11:13     ` Boyd Roberts
2003-11-12 19:55       ` Andrew Simmons
2003-11-12 20:17         ` Brantley Coile
2003-11-12 21:18           ` boyd, rounin
2003-11-12 21:16         ` boyd, rounin
2003-11-13  9:32           ` Skip Tavakkolian
2003-11-13 16:47             ` Dan Cross
2003-11-14  6:49 Andrew Simmons

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=95ca4651d6ef63b8d5f5cbdc9b8749b7@collyer.net \
    --to=geoff@collyer.net \
    --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).