On 11/06/2013 08:05 PM, Ben Reser wrote:
> On 11/6/13 6:21 PM, Blair Zajac wrote:
>> I'm wondering if its a regression with older versions of Subversion as it walks
>> up the tree to find a .svn directory.
>
> Well the error is coming from io_check_path() in subversion/libsvn_subr/io.c.
> Specifically we run apr_stat() on the path and are expecting a valid status or
> something that is true when passed to APR_STATUS_IS_ENOENT() or
> SVN__APR_STATUS_IS_ENOTDIR().
>
> apr_stat of course is just a thing wrapper around lstat() or stat(). In your
> case based on the error message it's returning 5 which according to
> /usr/include/sys/errno.h is EIO. And of course Subversion is saying there's an
> "Input/output error" consistent with the error code it received.
>
> Unfortunately the documentation for this is hardly clear (see man auto_master
> under Executable Map). It says that you should exit with a non zero exit code
> and no output if there is an error. Their example even shows it exiting with
> `exit 1` when the Open Directory query returned no results.
>
> Based on some simple experimentation I added the following to my
> /etc/auto_master file:
> /nxx /etc/auto.nxx
>
> Added a /etc/auto.nxx file containing
> [[[
> #!/bin/sh
>
> exit 1
> ]]]
>
> Made /etc/auto.nxx executable and ran `automount -vc` to activate it.
>
> Then I ran this:
> $ ls -l /nxx/x
> ls: /nxx/x: Input/output error
>
> Changing the exit code to 0 in /etc/auto.nxx I then repeated the ls command and
> got:
> $ ls -l /nxx/x
> ls: /nxx/x: No such file or directory
>
> So it seems to me that unless the commands to query LDAP fail that your script
> should exit with zero exit code and no output to indicate there is no such
> mount point.
>
> So like I said before it seems to me that this is a bug in your /etc/auto.spi
Changing 'exit 1' to 'exit 0' and having the script send nothing to
stdout gets it to work.
Thanks for taking the time to track this down.
Blair
Received on 2013-11-07 16:57:34 CET