NetBSD-Bugs archive

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

Re: bin/38103: automounter (amd) failed to unmount busy filesystems on reboot - reboot will hang



On Feb 28,  5:00pm, tron%zhadum.org.uk@localhost (Matthias Scheler) wrote:
-- Subject: Re: bin/38103: automounter (amd) failed to unmount busy filesyste

| The following reply was made to PR bin/38103; it has been noted by GNATS.
| 
| From: Matthias Scheler <tron%zhadum.org.uk@localhost>
| To: gnats-bugs%NetBSD.org@localhost
| Cc: 
| Subject: Re: bin/38103: automounter (amd) failed to unmount busy filesystems 
on reboot - reboot will hang
| Date: Thu, 28 Feb 2008 16:59:02 +0000
| 
|  On Wed, Feb 27, 2008 at 10:21:14AM -0500, Christos Zoulas wrote:
|  > |  Anyway, I've backed out the change to "/etc/rc.d/amd" already.
|  > |  amd(8) is a lost cause and should be removed from NetBSD as
|  > |  soon as possible.
|  > 
|  > Great attitude here, "hands hurts: cut it off". I am using amd on ~500
|  > machines here and it works just fine.
|  
|  I'm using it for a long time, too. But I wouldn't say it works fine:
|  1.) If I run "build.sh" with the source and object directory on a
|      amd(8) mount point the automounter daemon consumes upto 20% of the
|      CPU time (on a 1.87GHz Xeon 30xx CPU).

Yes, because you are constantly traversing the automounted path which is
is by default not cached. Trying doing 'tcpdump localhost port nfs' :-)
To avoid that you can refer only to relative paths, or set in the global
section of amd.conf:

        auto_attrcache = 1

Which will cache for 1 second. Save some CPU trees.

|  2.) The lack of support for direct mounts is a big problem. A lot
|      of programs use realpath(3) and end up trying to use directory names
|      like "/export/home/<user>" (on the server) or
|      "/amd/<server>/export/home/<user>" (on the client). Quite frequently
|      such pathnames end up in configuration files which now don't work
|      if you switch between the server, the client or a machine with
|      a proper automounter (e.g. Solaris or Linux).

Yes, that is indeed a problem. I don't have this issue at work because
I mount everything under the same namespace, both on the client and the
server:

        /net/<hostname>/<partition-name>

and I use /u/<name> -> /net/<hostname>/<partition-name>/<name> for user home
dir mounts for example. I've also use shells that do symbolic path traversal
and alias pwd to pawd. But the direct mount will be fixed once I complete
some autofs work that I have been postponing for~ever.

|  > What's the alternative, don't cross mount between machines?
|  
|  No, but we should replace it with something that is actually working
|  properly. The shutdown issue is not the only problem, see above.
|  
|  I've talked to Antti Kantee and it seems that a "puffs" based automounter
|  wouldn't have the shutdown problems.

It will be a lot slower, and you'll be dealing with the same race conditions
amd has to deal with, only re-discovering them :-)

christos


Home | Main Index | Thread Index | Old Index