tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: exact semantics of union mounts (and TRYEMULROOT)



    Date:        Tue, 11 Jul 2017 16:40:17 +0000
    From:        David Holland <dholland-tech%netbsd.org@localhost>
    Message-ID:  <20170711164017.GB29708%netbsd.org@localhost>

  | In Plan 9 the layer creations happen in is chosen by a mount flag, and
  | isn't necessarily the top layer. We don't have that flag (but could
  | add it, as I noted) - my original mail was using "not readonly" as a
  | proxy for it.

That's a poor choice - adding a "which layer" option would not be terrible,
but in the absence of that. "top layer" is the rational solution, not
"some random layer that happens to seem to work".

  | How do you propose to get back to the top level without starting at
  | the top again?

This may be a question of word interpretation, to me "start again" means
repeat what you have just done from the beginning, here what we are doing
is something totally different, we simply go to the layer in which the
file is to be created (the top layer as it is at the minute) and (attempt to)
create the the file there, nothing like the previous search to see if the
file exists, so no "again" and not "start" either, as it is just step 2
of the process.

Contrast that with what would happen if during the lookup, it was discovered
that the locks need to be released while we wait for something, in order
to avoid deadlock - in that case the process needs to start again from the
top, as nothing we had discovered previously can be relied upon any more.

  | Wrong... Plan 9 doesn't have whiteouts.

But NetBSD does (in at least most filesystems) - I suspect quite a lot of
the naming sematics are not identical between NetBSD (and unix systems in
general) and Plan 9, and regardless of which is better, simply attempting 
to shoehorn one small piece of Plan 9 into NetBSD isn't going to work well.

kre



Home | Main Index | Thread Index | Old Index