On 09/04/14 14:43, Edward Tomasz Napierała wrote:
On 0904T0759, Hans Ottevanger wrote:
On 08/17/14 16:50, Edward Tomasz Napierała wrote:
On 0817T1244, Hans Ottevanger wrote:
[...]
Hi!
Great to see a real autofs finally coming to FreeBSD.
I already did some very cursory testing on a recent 11-CURRENT system
that I still happened to have and things with at least the /net map
look quite OK.
I could do some more extensive testing if I could use some of my
10-STABLE systems. I already checked that the patch applies cleanly
to a recent 10-STABLE (modulo a few offsets) and that both buildworld
and buildkernel succeed. Should I expect difficulties actually
running your autofs on 10-STABLE?
No, it should be fine. Plan is to MFC this to 10 soon, btw.
Good to see that autofa has been MFC'd during my vacation 8-)
But I found a little problem...
When I try to access the NFS exported file-systems on an older test
machine (running 7.x, but that is not so relevant, it also happens
with other servers), with the following exports:
$ showmount -e soekris
Exports list on soekris:
/var 192.168.0.0
/usr 192.168.0.0
/home 192.168.0.0
/ 192.168.0.0
I get:
$ ls /net/soekris
COPYRIGHT dist libexec proc tmp
bin entropy lost+found rescue usr
boot etc media root var
compat home mnt sbin
dev lib
which is correct, but the next level fails:
$ ls -l /net/soekris/usr
total 0
since /usr on soekris is definitely not empty.
Relevant output of mount :
...
map -hosts on /net (autofs)
soekris:/ on /net/soekris (nfs, nosuid, automounted)
This is on 10.1-PRERELEASE r270922. The kernel config is GENERIC
minus devices I do not have and AUTOFS added. Config files
(/etc/auto_master, et al) are default. Mounting manually does succeed
(in two steps, of course).
When trying this from Mac OS X (I am still on Snow Leopard)
automounting works as expected. I did not have the opportunity yet to
try a Linux box (also do not know whether autofs there has been eaten
by systemd already 8-)).
Do I miss something, or is this a bug?
It's a bug. Or rather, a missing feature. The problem here is that
the "/" export "shadows" the rest. To handle this correctly, automountd(8)
would need to mount the "/" share, then mount autofs on "/usr" etc, and
then call it done. This part is easy. The problem is: how to expire
(automatically unmount) it? Because of autofs mounts, the "/" share
will always be busy, and thus won't ever get automatically unmounted.
So, for now, we don't even try to handle this situation.
I'm not sure what would the best way to solve it.
Maybe the same way as Mac OS X does.
On my old MacMini (Snow Leopard) I get in a quiescent state, before
automounting anything:
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
Immediately after "ls -l /net/soekris/usr":
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
soekris:/ on /net/soekris (nfs, nodev, nosuid, automounted, nobrowse)
trigger on /net/soekris/usr (autofs, automounted, nobrowse)
trigger on /net/soekris/var (autofs, automounted, nobrowse)
trigger on /net/soekris/home (autofs, automounted, nobrowse)
soekris:/usr on /net/soekris/usr (nfs, nodev, nosuid, automounted, nobrowse)
Then, after more than 400 seconds:
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
soekris:/ on /net/soekris (nfs, nodev, nosuid, automounted, nobrowse)
trigger on /net/soekris/usr (autofs, automounted, nobrowse)
trigger on /net/soekris/var (autofs, automounted, nobrowse)
trigger on /net/soekris/home (autofs, automounted, nobrowse)
and finally after 600 seconds we are back to:
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
So triggers for the subdirectories are automounted on their automounted
parent directory and expiration occurs in steps. BTW, I reconfigured the
automount timeout as 300s (was 3600s) so I do not fully understand why
the first time takes at least 400s.
If you think it is useful I can grab an older Linux box from my basement
and try to get autofs running on it, to do the same experiment. I
currently do not have a Solaris installation.
Kind regards,
Hans
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"