I'm trying to checkout part of the official FreeBSD SVN repository on
a FreeBSD machine where my $HOME is automounted (through FreeBSD's
automounter). This always fails:
joerg@daemon ~% svn co https://svn.freebsd.org/base/head/usr.bin/passwd
svn: E000005: Can't check path '/home/.svn/wc.db': Input/output error
joerg_at_daemon ~% pwd
/home/joerg
When ktracing it, what obviously happens is that subversion tries to
traverse the entire directory hierarchy (eventually up to the
top-level) in order to find any possible .svn/wc.db there:
5271 svn RET fstatat -1 errno 2 No such file or directory
5271 svn CALL fstatat(AT_FDCWD,0x801abc0d8,0x7fffffffdf90,0x200<AT_SYMLINK_NOFOLLOW>)
5271 svn NAMI "/home/joerg/.svn"
5271 svn RET fstatat -1 errno 2 No such file or directory
5271 svn CALL fstatat(AT_FDCWD,0x801abc0d0,0x7fffffffdf90,0x200<AT_SYMLINK_NOFOLLOW>)
5271 svn NAMI "/home/.svn"
5271 svn STRU struct stat {dev=18446744072887533315, ino=4, mode=040755, nlink=3, uid=0, gid=0, rdev=0, atime=1579769649.589640074, mtime=1579769649.589640074, ctime=1579769649.589640074, birthtime=1579769649.589640074, size=512, blksize=4096, blocks=1, flags=0x0 }
5271 svn RET fstatat 0
5271 svn CALL fstatat(AT_FDCWD,0x8013e6e00,0x7fffffffdf20,0x200<AT_SYMLINK_NOFOLLOW>)
5271 svn NAMI "/home/.svn/wc.db"
5271 svn RET fstatat -1 errno 5 Input/output error
At the point where it reaches /home (which is the root of the
automounter map), the automounter fakes a stat(2) result there, but
attempting to probe for /home/.svn/wc.db gets an EIO.
I think subversion should just stop trying to traverse the hierarchy
at that point, realizing at that point no upper-level directory
contains a valid wc.db, and then proceed to actually checkout, rather
than bailing out.
If I checkout in a local directory (like /tmp), and then move the
working copy below $HOME, everything works as expected.
(FreeBSD 12.1-RELEASE, svn version 1.13.0)
--
cheers, Joerg .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)
Received on 2020-01-23 10:30:03 CET