9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] FS question
@ 2003-11-10 14:01 Brantley Coile
  2003-11-10 15:07 ` Russ Cox
  2003-11-10 16:40 ` Rob Pike
  0 siblings, 2 replies; 22+ messages in thread
From: Brantley Coile @ 2003-11-10 14:01 UTC (permalink / raw)
  To: 9fans

I was just curious to the reasoning behind dropping links.
Did, for example, Ken's FS not do links because Plan 9 had
bind or did Plan 9 use bind because, possibly among other reasons,
FS didn't do any links.  Or was it just an accident of
design, a side affect of putting the file name in the meta data?

Just curious.

 Brantley




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

* Re: [9fans] FS question
  2003-11-10 14:01 [9fans] FS question Brantley Coile
@ 2003-11-10 15:07 ` Russ Cox
  2003-11-10 17:14   ` Brantley Coile
  2003-11-10 16:40 ` Rob Pike
  1 sibling, 1 reply; 22+ messages in thread
From: Russ Cox @ 2003-11-10 15:07 UTC (permalink / raw)
  To: 9fans

> I was just curious to the reasoning behind dropping links.
> Did, for example, Ken's FS not do links because Plan 9 had
> bind or did Plan 9 use bind because, possibly among other reasons,
> FS didn't do any links.  Or was it just an accident of
> design, a side affect of putting the file name in the meta data?

I have no idea (I wasn't there), but I have a question for you.

If you were designing a file system today, from scratch,
and you weren't worried about backwards compatibility,
would you actually structure it the same way as the UNIX
file system, with inodes and links?  What a mess.



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

* Re: [9fans] FS question
  2003-11-10 14:01 [9fans] FS question Brantley Coile
  2003-11-10 15:07 ` Russ Cox
@ 2003-11-10 16:40 ` Rob Pike
  2003-11-10 17:09   ` Brantley Coile
  1 sibling, 1 reply; 22+ messages in thread
From: Rob Pike @ 2003-11-10 16:40 UTC (permalink / raw)
  To: 9fans

> I was just curious to the reasoning behind dropping links.
> Did, for example, Ken's FS not do links because Plan 9 had
> bind or did Plan 9 use bind because, possibly among other reasons,
> FS didn't do any links.  Or was it just an accident of
> design, a side affect of putting the file name in the meta data?

links are bizarre, as rsc said.

i don't really know the answer to your question; i think rsc may
have actually done so.  when redesigning, you tend to throw
away the stuff you don't want.

also, think how links would work in plan 9. it's bad enough on
unix, where you can't link from one file system to another, even
on the same disk. with plan 9's malleable name spaces and files
appearing from all over, links would work even more unpredictably.

-rob



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

* Re: [9fans] FS question
  2003-11-10 16:40 ` Rob Pike
@ 2003-11-10 17:09   ` Brantley Coile
  2003-11-10 17:39     ` ron minnich
  0 siblings, 1 reply; 22+ messages in thread
From: Brantley Coile @ 2003-11-10 17:09 UTC (permalink / raw)
  To: 9fans

On Mon, 10 Nov 2003 08:40:11 -0800, Rob Pike <rob@mightycheese.com> wrote:

>> I was just curious to the reasoning behind dropping links.
>> Did, for example, Ken's FS not do links because Plan 9 had
>> bind or did Plan 9 use bind because, possibly among other reasons,
>> FS didn't do any links.  Or was it just an accident of
>> design, a side affect of putting the file name in the meta data?
>
> links are bizarre, as rsc said.
>
> i don't really know the answer to your question; i think rsc may
> have actually done so.  when redesigning, you tend to throw
> away the stuff you don't want.
>
> also, think how links would work in plan 9. it's bad enough on
> unix, where you can't link from one file system to another, even
> on the same disk. with plan 9's malleable name spaces and files
> appearing from all over, links would work even more unpredictably.
>
> -rob
>
>


Just to be on record, I wasn't even remotely suggesting
we put links into Plan 9.  I like the way Plan 9 FS does it.

I was just trying to gain insight into how the FS got
to where it is.

 Brantley



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

* Re: [9fans] FS question
  2003-11-10 15:07 ` Russ Cox
@ 2003-11-10 17:14   ` Brantley Coile
  2003-11-10 17:43     ` Russ Cox
                       ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Brantley Coile @ 2003-11-10 17:14 UTC (permalink / raw)
  To: 9fans

On Mon, 10 Nov 2003 10:07:47 -0500, Russ Cox <rsc@swtch.com> wrote:

>> I was just curious to the reasoning behind dropping links.
>> Did, for example, Ken's FS not do links because Plan 9 had
>> bind or did Plan 9 use bind because, possibly among other reasons,
>> FS didn't do any links.  Or was it just an accident of
>> design, a side affect of putting the file name in the meta data?
>
> I have no idea (I wasn't there), but I have a question for you.
>
> If you were designing a file system today, from scratch,
> and you weren't worried about backwards compatibility,
> would you actually structure it the same way as the UNIX
> file system, with inodes and links?  What a mess.
>
>


Since I learned from UNIX, there is a very real chance that
I would structure it that way.  It's what I grew up with.

Why was putting the name in the metat good in 1987 but bad
in 1969?

 Brantley



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

* Re: [9fans] FS question
  2003-11-10 17:09   ` Brantley Coile
@ 2003-11-10 17:39     ` ron minnich
  0 siblings, 0 replies; 22+ messages in thread
From: ron minnich @ 2003-11-10 17:39 UTC (permalink / raw)
  To: 9fans

On Mon, 10 Nov 2003, Brantley Coile wrote:

> I was just trying to gain insight into how the FS got
> to where it is.

If you think about a PDP-11 or earlier machine, 64 KB address space, and
you look at the file system that ran at that time, the whole i-number and
links thing was a pretty reasonable and efficient way to go. It's really
remarkable that it all worked out so well.

Funny note: At the time lots of people were arguing that a hierarchical
file system was impossibly inefficient, believe it or not. For example, HP
at the time offered a file system with two (2, yes 2) levels of directory;
that's all you got. (this is in the 70s)

It just doesn't make sense nowadays.

ron



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

* Re: [9fans] FS question
  2003-11-10 17:14   ` Brantley Coile
@ 2003-11-10 17:43     ` Russ Cox
  2003-11-10 17:49       ` Sape Mullender
  2003-11-11  0:01     ` Geoff Collyer
  2003-11-13  0:10     ` Charles Forsyth
  2 siblings, 1 reply; 22+ messages in thread
From: Russ Cox @ 2003-11-10 17:43 UTC (permalink / raw)
  To: 9fans

> Since I learned from UNIX, there is a very real chance that
> I would structure it that way.  It's what I grew up with.
>
> Why was putting the name in the metat good in 1987 but bad
> in 1969?

I don't think it was bad in 1969.  I think it just didn't
happen that way.  Look at the way that links were
used before there were hierarchical path names
(see http://plan9.bell-labs.com/~dmr/hist.html, search for "ln dd").
Once you have hierarchical path names so it's easy to name
files that are more than two hops from the current directory,
I think the need for links goes away.  They're a holdover from
an earlier time.

In short, modern file names make links unnecessary.

Entirely speculation.
Russ


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

* Re: [9fans] FS question
  2003-11-10 17:43     ` Russ Cox
@ 2003-11-10 17:49       ` Sape Mullender
  2003-11-11  1:47         ` Dennis Ritchie
  0 siblings, 1 reply; 22+ messages in thread
From: Sape Mullender @ 2003-11-10 17:49 UTC (permalink / raw)
  To: 9fans

>> Why was putting the name in the metat good in 1987 but bad
>> in 1969?
>
> I don't think it was bad in 1969.  I think it just didn't
> happen that way.

Indeed.  In 1969, directory entries consisted of a (14 character) name and a
(16 bit) inode number.  Multiple directory entries could refer to the same
inode: links.  Inodes had a reference-count that kept track of the number of
directories pointing to an inode.  (the command ncheck would check/fix these
counts).

Symbolic links came much later (in BSD if I remember correctly) and, in early
symbolic links, a single data block would be sacrificed for storing the name linked
to.  The name was still not in the inode metadata.



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

* Re: [9fans] FS question
  2003-11-10 17:14   ` Brantley Coile
  2003-11-10 17:43     ` Russ Cox
@ 2003-11-11  0:01     ` Geoff Collyer
  2003-11-13  0:10     ` Charles Forsyth
  2 siblings, 0 replies; 22+ messages in thread
From: Geoff Collyer @ 2003-11-11  0:01 UTC (permalink / raw)
  To: 9fans

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



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

* Re: [9fans] FS question
  2003-11-10 17:49       ` Sape Mullender
@ 2003-11-11  1:47         ` Dennis Ritchie
  0 siblings, 0 replies; 22+ messages in thread
From: Dennis Ritchie @ 2003-11-11  1:47 UTC (permalink / raw)
  To: 9fans

Sape said,

 > Symbolic links came much later (in BSD if I remember correctly) and, in early
 > symbolic links, a single data block would be sacrificed for storing the name linked
 > to.  The name was still not in the inode metadata.

Yes. Actually I was the first to implement symbolic links,
in a post-V7 system, but it was after CSRG (and their ARPA
oversight committee, of which I was a member) decided to
implement them.  I sent the code to CSRG.

I argued at the time that two kinds of links was
one too many, and it would be good to get rid of
the hard links.  Neither they nor we did this
in stock Unix, of course.

	Dennis


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

* Re: [9fans] FS question
  2003-11-10 17:14   ` Brantley Coile
  2003-11-10 17:43     ` Russ Cox
  2003-11-11  0:01     ` Geoff Collyer
@ 2003-11-13  0:10     ` Charles Forsyth
  2 siblings, 0 replies; 22+ messages in thread
From: Charles Forsyth @ 2003-11-13  0:10 UTC (permalink / raw)
  To: 9fans

>>Why was putting the name in the metat good in 1987 but bad
>>in 1969?

actually the other way round (name and metadata in directory representation)
was more the norm in 1969 and later.  the unix approach was unusual.
other systems had the equivalent of links only when something went
terribly wrong and aliased file or directory storage references.  the unix structure was
quite cute really for minimalism, but it began to stumble over the boundaries
between file systems.  to be fair, there were approximations to striping/mirroring drivers
not all that much later that eliminated the need to stumble so soon, but they weren't widely used.



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

* [9fans] FS question
@ 2003-11-14  6:49 Andrew Simmons
  0 siblings, 0 replies; 22+ messages in thread
From: Andrew Simmons @ 2003-11-14  6:49 UTC (permalink / raw)
  To: 9fans

> You can call me Susan if it makes you happy.

A Boyd named Sue? There could be a song in there somewhere.




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

* Re: [9fans] FS question
  2003-11-13  9:32           ` Skip Tavakkolian
@ 2003-11-13 16:47             ` Dan Cross
  0 siblings, 0 replies; 22+ messages in thread
From: Dan Cross @ 2003-11-13 16:47 UTC (permalink / raw)
  To: 9fans

"Skip Tavakkolian" <fst@centurytel.net> writes:
> Welcome back Susan.

``Surely you're not serious!''
``I am serious.  And don't call me Shirley.''

	- Dan C.



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

* Re: [9fans] FS question
  2003-11-12 21:16         ` boyd, rounin
@ 2003-11-13  9:32           ` Skip Tavakkolian
  2003-11-13 16:47             ` Dan Cross
  0 siblings, 1 reply; 22+ messages in thread
From: Skip Tavakkolian @ 2003-11-13  9:32 UTC (permalink / raw)
  To: 9fans

> You can call me Susan if it makes you happy.

Welcome back Susan.



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

* Re: [9fans] FS question
  2003-11-12 20:17         ` Brantley Coile
@ 2003-11-12 21:18           ` boyd, rounin
  0 siblings, 0 replies; 22+ messages in thread
From: boyd, rounin @ 2003-11-12 21:18 UTC (permalink / raw)
  To: 9fans

> Boyd,
>
> Is it just me, or have you been gone the same period
> that Rush Limbaugh has been in rehab?

ask rush.  i don't remember a thing.



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

* Re: [9fans] FS question
  2003-11-12 19:55       ` Andrew Simmons
  2003-11-12 20:17         ` Brantley Coile
@ 2003-11-12 21:16         ` boyd, rounin
  2003-11-13  9:32           ` Skip Tavakkolian
  1 sibling, 1 reply; 22+ messages in thread
From: boyd, rounin @ 2003-11-12 21:16 UTC (permalink / raw)
  To: 9fans

> Welcome back. Do you mind if we call you "Bruce" to avoid any confusion?

You can call me Susan if it makes you happy.

    -- Bullet Tooth Tony



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

* Re: [9fans] FS question
  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
  1 sibling, 1 reply; 22+ messages in thread
From: Brantley Coile @ 2003-11-12 20:17 UTC (permalink / raw)
  To: 9fans

Boyd,

Is it just me, or have you been gone the same period
that Rush Limbaugh has been in rehab?

 Brantley

On Thu, 13 Nov 2003 08:55:43 +1300, Andrew Simmons <andrew.simmons@monitorbm.co.nz> wrote:

>
>>
>> or, boyd
> Welcome back. Do you mind if we call you "Bruce" to avoid any confusion?
>
>





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

* Re: [9fans] FS question
  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:16         ` boyd, rounin
  0 siblings, 2 replies; 22+ messages in thread
From: Andrew Simmons @ 2003-11-12 19:55 UTC (permalink / raw)
  To: 9fans


>
>or, boyd
Welcome back. Do you mind if we call you "Bruce" to avoid any confusion?



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

* Re: [9fans] FS question
  2003-11-11 12:28   ` Lucio De Re
@ 2003-11-12 11:13     ` Boyd Roberts
  2003-11-12 19:55       ` Andrew Simmons
  0 siblings, 1 reply; 22+ messages in thread
From: Boyd Roberts @ 2003-11-12 11:13 UTC (permalink / raw)
  To: 9fans

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 373 bytes --]

"Lucio De Re" <lucio@proxima.alt.za> a �crit dans le message de
news:20031111142831.C6815@cackle.proxima.alt.za...
> On Tue, Nov 11, 2003 at 09:26:24PM +1100, Bruce Ellis wrote:
> >
> > that's not me.  just in case you guys thought i'd gone into IT.
> >
> > brucee
>
> No, we know you Australians are all named either Bruce or Sheila ;-)
>
> ++L

or, boyd


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

* Re: [9fans] FS question
  2003-11-11 10:26 ` Bruce Ellis
@ 2003-11-11 12:28   ` Lucio De Re
  2003-11-12 11:13     ` Boyd Roberts
  0 siblings, 1 reply; 22+ messages in thread
From: Lucio De Re @ 2003-11-11 12:28 UTC (permalink / raw)
  To: 9fans

On Tue, Nov 11, 2003 at 09:26:24PM +1100, Bruce Ellis wrote:
>
> that's not me.  just in case you guys thought i'd gone into IT.
>
> brucee

No, we know you Australians are all named either Bruce or Sheila ;-)

++L


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

* Re: [9fans] FS question
  2003-11-11  2:30 bruce
@ 2003-11-11 10:26 ` Bruce Ellis
  2003-11-11 12:28   ` Lucio De Re
  0 siblings, 1 reply; 22+ messages in thread
From: Bruce Ellis @ 2003-11-11 10:26 UTC (permalink / raw)
  To: 9fans

that's not me.  just in case you guys thought i'd gone into IT.

brucee
----- Original Message -----
From: <bruce@it.usyd.edu.au>
To: <9fans@cse.psu.edu>
Sent: Tuesday, November 11, 2003 1:30 PM
Subject: Re: [9fans] FS question


> If a file could be removed but still remain accessible
> (via an open file descriptor) then that might suggest an implementation
> where the file was distinct from its name.  Once that separation
> existed then it might have been thought interesting to allow
> multiple names for the same file.
>
> What did Multics do?
> ken?



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

* Re: [9fans] FS question
@ 2003-11-11  2:30 bruce
  2003-11-11 10:26 ` Bruce Ellis
  0 siblings, 1 reply; 22+ messages in thread
From: bruce @ 2003-11-11  2:30 UTC (permalink / raw)
  To: 9fans

If a file could be removed but still remain accessible
(via an open file descriptor) then that might suggest an implementation
where the file was distinct from its name.  Once that separation
existed then it might have been thought interesting to allow
multiple names for the same file.

What did Multics do?
ken?


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

end of thread, other threads:[~2003-11-14  6:49 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-10 14:01 [9fans] FS question 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
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

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