[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn: E000005: Can't check path '/net/.svn': Input/output error

From: Ben Reser <ben_at_reser.org>
Date: Wed, 06 Nov 2013 20:05:27 -0800

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
Received on 2013-11-07 05:06:20 CET

This is an archived mail posted to the Subversion Dev mailing list.