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