autofs problem

Edward Tomasz Napierała trasz at FreeBSD.org
Mon Feb 15 21:42:09 UTC 2016


On 0214T1655, Daniel Braniss wrote:
> Hi,
> I’m converting our (very) old am-utils maps to use the new autofs,
> so I wrote a python script that queries the am-utils map, and ‘generates’
> one that autofs likes.
> so autofs_master has:
>> /cs	auto_cs
> 
> auto_cs is a python script and is executable.
> 
> at the moment I’m stuck with what am-utils  type=link
> so I’m using -fstype=nullfs :/cs/some-path, but before this can work I need
> to trigger autofs with the /cs/some-path, so before the script returns I do a
> 	os.stat('/cs/some-path')
> but this returns an error, mainly because it is not caught by autofs!
> doing the same in the command line works, and later the nullfs too, (i’m afraid
> of what the auto unmount will do later, but that’s another issue)
> 
> is this by design? or is there some better way?

It's by design - basically, autofs(4) has code to explicitly disable triggering
by anything running with the same SID (session id) as the automountd(8).  This
is to prevent some obvious (and some less than obvious and quite hard to debug)
deadlocks.  Thus, any script ran by automountd(8) works as if the autofs mounts
"weren't there".

You might be able to work around this by somehow calling setsid() from
the Python script before triggering.



More information about the freebsd-hackers mailing list