Sorry I must be missing something.
You say autofs is now treating the script as a file since it is not
executable but it is executable.
I don't quite understand the "if (st.st_mode & __S_IEXEC)" part of the
code above.
All I'm saying is that, for whatever reason, autofs is treating your
program map as a file map. Why I don't know.
The check (st.st_mode & __S_IEXEC) checks if the mode returned by the
stat(2) of the path in ap->argv[0] is executable by the owner of the file.
Ian
Can you please then just explain what