redesignde the unix-like system directory

Arne Steinkamm freebsd-questions at Steinkamm.COM
Wed May 6 22:41:37 UTC 2020


On Wed, May 06, 2020 at 01:55:47PM -0600, Bob Proulx wrote:
> Tim Daneliuk wrote:
> > Arne Steinkamm wrote:
> > > >> /cloud, various cloud applications
> > > >> /net,  network information and server information, etc.
> > > Looking at a flat layout like this one gives me a feeling, that
> > > most people forgot that it's a real bad idea to have a 
> > > external mounted directory in the root directory... easy way to make
> > > a system unresponsive in case of a network problem.
> > 
> > Can you say a bit more about why this is so?
> 
> Assume NFS for simplicity.  A mount point at the /nfsmount1 directory.
> Then run "ls -l /".  That needs to stat(2) each entry in / and hits
> /nfsmount1 with stat(2) which if the nfs server is not responding
> cannot return an answer to the query.  A lot of daemons and cron jobs
> will assume that the file system root and all entries in there are
> available and will trigger this problem as a byproduct of their
> operations.  I am just describing "ls -l" as the simplest way to
> trigger the issue.  "NFS server not responding."  This can be a reason
> for a system load of hundreds or thousands as process slots fill up
> with stuck processes blocked waiting for I/O from an unresponsive server.

Exact and thanks to answer the question.

I saw this in a productive environment once and was really impressed
that "professional services" lack the knowledge how filesystem traversal
in a *ix environment works.

Last time I was working with kernel sources (many years ago) namei(9) 
made a traversal on each call starting from the filesystems root inode.
So a hanging nfs mount directly in a filesystems root is a real show stopper.

FreeBSD is a real Unix with a history back to edition 6 at Bell Labs.
So virtually all books ever written about Unix in the last 48 years are
helpfull. There are many (!) real good books which do not have "Linux" or
"FreeBSD" in their name which are more than worth to be read about
basis system administration concepts.

And to make the loop back to the topic: 
You need more than valid reasons to change hier(7) and break this
heritage! Copying Android seems not to be a valid reason in this context.

.//. Arne

-- 
Arne Steinkamm         | Home:     Mail: arne<at>steinkamm<dot>com


More information about the freebsd-questions mailing list