On Sun, 17 Aug 2003, Jochen Reinwand wrote:

> > > This is on my list. I believe that it can be addressed by bringing the
> > > parsing of the master map into the daemon. This will enable a much more
> > > generic init script to be written.
> >
> > The approach I was thinking about was to factor all the init scripts
> > into two parts: one set of functions for doing autofs specific things
> > (parsing maps, starting and stopping daemons, etc), and a set of
> > per-distro scripts which use the autofs functions to do their work.  The
> > per-distro scripts should have very little real code in them, just
> > whatever the distro needs an init script to do.
> >
> > Why would moving the map parsing into the C code make things more
> > generic?
> 
> Look at the way Solaris does it. It's somehow nice, because the command 
> "automount" handles nearly _everything_.
> 
> But it's not very flexible. You can only edit auto.master, start automount and 
> hope that it does exactly what you want.

Yep.

> 
> Therefore I had a different idea some time ago:
> Looking at the different init scripts revealed a great problem: The scripts 
> for the different distros do the same things in different ways!
> We have LSB, so why not use it?
> 
> So I wrote a common init script I called rc.autofs that does everything, but 
> leaves out the distro specific stuff, like the output on the screen.
> 
> I took all useful things from the different init scripts and implemented a few 
> new things.
> What was important for me: The script uses PID files and waits a few seconds 
> after "rc.autofs stop" and _very_ important during "rc.autofs restart" after 
> the stop part for the PID files to disappear to be sure the automount is 
> really gone. If one or more PID files remain, it prints an error message 
> telling what mount point is broken or still in use. In the case of "rc.autofs 
> start" or after the stop part of "rc.autofs restart" the script does _not_ 
> start an already or still running automount!
> 
> I attached the rc.autofs script and an example "real" autofs script for SuSE. 
> It's for an old version (something around 7.x, where init scripts used 
> rc.config variables), but the basic concept should be clear.
> 
> The code is old and I haven't looked at it for a long time. While reading this 
> thread I decided to share it with you, although there are some problems about 
> it (see below). I have not cleaned up a lot. Only a few German comments ;-)
> So if anyone wants to clean it up or use a few parts for a complete new 
> version of the script, feel free to use it!
> 
> Now to the problems: I made a big mistake! I changed the syntax of auto.master 
> to the following:
> 
> # mount-point   map-type   map   options   --   additional options
> /mnt   file,sun   /etc/autofs_mnt   nonstrict,nosuid,nodev,sync   --   -t1
> 
> As you can see I disabled the autodetection of the map type and used the new 
> second column.
> In the docs there was nothing about how to specify a different timeout and 
> other daemon options for a map. So I made it possible to pass daemon options 
> after the "--". But as I found out later it is already possible by normal 
> options...
> 
> So if someone wants to use my code, he/she has to take care about it. But it 
> should be very easy to clean this up!!

I'll check it out when I get time. Thanks.


-- 

   ,-._|\    Ian Kent
  /      \   Perth, Western Australia
  *_.--._/   E-mail: [EMAIL PROTECTED]
        v    Web: http://themaw.net/

_______________________________________________
autofs mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to