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

Subversion fails to checkout new working set when $HOME is automounted

From: Joerg Wunsch <j_at_uriah.heep.sax.de>
Date: Thu, 23 Jan 2020 10:24:40 +0100

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

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
Never trust an operating system you don't have sources for. ;-)
Received on 2020-01-23 10:30:03 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.