9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: ron minnich <rminnich@lanl.gov>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] ls, rc question
Date: Thu, 18 Mar 2004 22:50:10 -0700	[thread overview]
Message-ID: <Pine.LNX.4.44.0403182238400.9829-100000@maxroach.lanl.gov> (raw)
In-Reply-To: <200403190532.i2J5W2MU097145@adat.davidashen.net>


Well, I guess it's confusing the way some union stuff works, but once you
start trying to do things with unions to make them less weird, it can get
ugly fast, see this from a bsd list:

"  Perhaps one situation would be, modify a lower-layer file so that the
modified file now exists in the upper layer, with the original still in
the lower layer.  Then try to delete the file. The upper-layer version
will be deleted, but we don't want the lower-layer version to now start
showing up, because we 'delete'd it.  We also don't want to delete the
lower-layer version, because it's a union filesystem, and that's one of
the features of a union mount -- the lower layer is not allowed to change
(much).  So, cover up the lower-layer version with 'whiteout' in the upper
layer so that it becomes not visible to the union-mount, but still exists
via non-union-mount access. "

Also see rm -W on bsd. 

Or how about this: "Running find(1) over a union tree has the side-effect 
of creating a tree of shadow directories in the upper layer."

BSD does do this: "In this example, /b is layered over an empty directory
/mnt, then /a is layered over the new view of /mnt.  Duplicate names are
suppressed so that only one occurrence of `x' (and also `.' and `..')  
will appear." (see
http://www.usenix.org/publications/library/proceedings/neworl/full_papers/mckusick.a)

Seems once you start to try to get smart there's no end to it.

I've had it put to me that union mounts would so hopelessly confuse users
that they can't be used. The first time I showed them to a quite smart CS
person she blanched a bit -- "how can anybody use that given you don't
really know what those two files are?" And here I was showing it off --
"see how you can build kernels outside the kernel tree". The only reaction
was: "yeah but having two pccpu files show up in ls is hopelessly
confusing. " I had to disagree :-)

The thing is, reads from a union directory do in fact give you the union. 
But what would you do for stat etc? I'm not sure you could do much 
different that has been done without really making the kernel pretty 
dirty (see above).

ron



  parent reply	other threads:[~2004-03-19  5:50 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-18 21:40 [9fans] ls question David Tolpin
2004-03-18 21:58 ` Russ Cox
2004-03-18 22:05   ` Russ Cox
2004-03-18 23:00     ` [9fans] ls, rc question David Tolpin
2004-03-18 23:31       ` [9fans] dirread David Tolpin
2004-03-18 23:49         ` ron minnich
2004-03-19  0:14         ` boyd, rounin
2004-03-19  3:38         ` rsc
2004-03-19  3:41       ` [9fans] ls, rc question rsc
2004-03-19  5:32         ` David Tolpin
2004-03-19  5:45           ` boyd, rounin
2004-03-19  5:50           ` ron minnich [this message]
2004-03-19  6:45             ` boyd, rounin
2004-03-19  9:07             ` Charles Forsyth
2004-03-19  9:24               ` Richard Miller
2004-03-19  9:33                 ` boyd, rounin
2004-03-19  9:39                   ` Richard Miller
2004-03-19  9:46                     ` Geoff Collyer
2004-03-19 10:11                   ` Richard Miller
2004-03-19 10:42                     ` Charles Forsyth
2004-03-19 10:03                 ` Charles Forsyth
2004-03-19  9:38               ` [9fans] Bind, look, everything is duplicated David Tolpin
2004-03-19  7:01           ` [9fans] ls, rc question Micah Stetson
2004-03-19  7:57             ` [9fans] ls, rc question -- proposed change to rc/glob.c David Tolpin
2004-03-19  8:13               ` Rob Pike
2004-03-19  8:18                 ` David Tolpin
2004-03-19  8:24                   ` David Tolpin
2004-03-19  8:27                   ` Rob Pike
2004-03-19  8:52                     ` David Tolpin
2004-03-19  9:16                     ` Richard Miller
2004-03-19  9:29                       ` boyd, rounin
2004-03-19  9:41                       ` Geoff Collyer
2004-03-19 10:09                         ` boyd, rounin
2004-03-19 10:50                         ` Geoff Collyer
2004-03-19 11:12                           ` David Tolpin
2004-03-19 12:31                             ` Charles Forsyth
2004-03-19 12:53                               ` boyd, rounin
2004-03-19 13:59                             ` David Presotto
2004-03-19 14:44                               ` David Tolpin
2004-03-19 17:57                                 ` Russ Cox
2004-03-19 18:04                                   ` David Tolpin
2004-03-19 20:31                               ` Geoff Collyer
2004-03-22 22:56                           ` rog
2004-03-22 23:19                             ` Scott Schwartz
2004-03-22 23:50                             ` Charles Forsyth
2004-03-23  0:28                               ` rog
2004-03-23  0:40                                 ` Charles Forsyth
2004-03-23  0:49                             ` Charles Forsyth
2004-03-23  2:12                               ` ron minnich
2004-03-23  2:16                                 ` boyd, rounin
2004-03-23  3:15                                 ` rog
2004-03-23 11:13                             ` a
2004-03-23 11:47                               ` Geoff Collyer
2004-03-19  8:31                 ` Richard Miller
2004-03-19  8:47                   ` Geoff Collyer
2004-03-19  9:07                   ` Rob Pike
2004-03-19  9:34                     ` David Tolpin
2004-03-19  9:52                     ` Scott Schwartz
2004-03-19 14:42                       ` ron minnich
2004-03-19 16:18                         ` 9nut
2004-03-19 15:34                           ` david presotto
2004-03-19 15:43                             ` ron minnich
2004-03-19 16:00                               ` Charles Forsyth
2004-03-19 16:02                             ` Charles Forsyth
2004-03-19 16:23                               ` David Presotto
2004-03-19 16:34                             ` Richard Miller
2004-03-19 16:47                               ` a
2004-03-19 16:52                                 ` Richard Miller
2004-03-19 17:15                               ` David Presotto
2004-03-21 20:47                               ` rog
2004-03-21 20:50                                 ` boyd, rounin
2004-03-21 21:53                                 ` ron minnich
2004-03-21 22:05                                   ` Charles Forsyth
2004-03-21 23:29                                   ` Enache Adrian
2004-03-22  1:30                                     ` boyd, rounin
2004-03-22 10:09                                 ` Douglas A. Gwyn
2004-03-22 10:49                                   ` Charles Forsyth
2004-03-22 12:15                                     ` boyd, rounin
2004-03-22 18:23                                       ` Derek Fawcus
2004-03-23  0:06                                         ` boyd, rounin
2004-03-19 16:34                             ` a
2004-03-19 15:53                           ` lucio
2004-03-19 16:01                             ` Charles Forsyth
2004-03-19 16:08                             ` andrey mirtchovski
2004-03-19 16:12                               ` ron minnich
2004-03-19 16:22                               ` lucio
2004-03-19 19:42                         ` boyd, rounin
2004-03-19 14:13                     ` Russ Cox
2004-03-19 14:37                       ` David Tolpin
2004-03-19  8:35                 ` boyd, rounin
2004-03-19 14:19                 ` Russ Cox
2004-03-18 21:59 ` [9fans] ls question David Presotto
2004-03-18 22:05 ` matt
2004-03-18 22:04   ` David Tolpin
2004-03-18 22:08   ` boyd, rounin
2004-03-19 10:26 [9fans] ls, rc question Tiit Lankots

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=Pine.LNX.4.44.0403182238400.9829-100000@maxroach.lanl.gov \
    --to=rminnich@lanl.gov \
    --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).