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



The following reply was made to PR bin/38103; it has been noted by GNATS.

From: christos%zoulas.com@localhost (Christos Zoulas)
To: gnats-bugs%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost, 
netbsd-bugs%netbsd.org@localhost, 
        Wolfgang.Stukenbrock%nagler-company.com@localhost
Cc: 
Subject: Re: bin/38103: automounter (amd) failed to unmount busy filesystems on 
reboot - reboot will hang
Date: Thu, 28 Feb 2008 14:38:46 -0500

 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