[Bug 243551] Cannot "svn checkout" in automounted $HOME
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jan 23 20:47:39 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243551
Bug ID: 243551
Summary: Cannot "svn checkout" in automounted $HOME
Product: Base System
Version: 12.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: joerg at FreeBSD.org
On a server where user's $HOME is automounted through the following maps:
/etc/auto_master:
/home auto_home
/etc/auto_home:
* -nfsv4 server:/home/&
trying to "svn checkout" a new working copy from any SVN server yields:
joerg at daemon ~/tmp% svn co https://svn.freebsd.org/base
svn: E000005: Can't check path '/home/.svn/wc.db': Input/output error
The respective ktrace output is:
8779 svn NAMI "/home/joerg/.svn"
8779 svn RET fstatat -1 errno 2 No such file or directory
8779 svn CALL
fstatat(AT_FDCWD,0x801abc0d0,0x7fffffffdfa0,0x200<AT_SYMLINK_NOFOLLOW>)
8779 svn NAMI "/home/.svn"
8779 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 }
8779 svn RET fstatat 0
8779 svn CALL
fstatat(AT_FDCWD,0x8013e6d80,0x7fffffffdf30,0x200<AT_SYMLINK_NOFOLLOW>)
8779 svn NAMI "/home/.svn/wc.db"
8779 svn RET fstatat -1 errno 5 Input/output error
8779 svn CALL write(0x2,0x80137e1e0,0x46)
8779 svn GIO fd 2 wrote 70 bytes
"svn: E000005: Can't check path '/home/.svn/wc.db': Input/output error
"
So SVN traverses directories upwards for .svn/wc.db entries. Surprisingly
enough, stat(2) on /home/.svn does not yield the expected ENOENT but a valid
result. (NB: /home/.svn does *not* exist on the NFS server.) However, trying to
access wc.db under that ficticous directory then yields EIO.
The automountd debug log looks like that:
Jan 23 21:34:44 daemon automountd[8692]: map "auto_home" maps to
"/etc/auto_home"
Jan 23 21:34:44 daemon automountd[8692]: done parsing map "auto_home"
Jan 23 21:34:44 daemon automountd[8692]: map may contain wildcard entries
Jan 23 21:34:44 daemon automountd[8692]: found node defined at auto_home:1; it
is a mountpoint
Jan 23 21:34:44 daemon automountd[8692]: fstype not specified in options;
defaulting to "nfs"
Jan 23 21:34:44 daemon automountd[8692]: retrycnt not specified in options;
defaulting to 1
Jan 23 21:34:44 daemon automountd[8692]: executing "mount -t nfs -o
nfsv4,automounted,retrycnt=1 alfred.sax.de:/home/joerg /home/joerg/" as pid
8693
Jan 23 21:34:44 daemon automountd[8692]: "mount -t nfs -o
nfsv4,automounted,retrycnt=1 alfred.sax.de:/home/joerg /home/joerg/", pid 8693,
terminated gracefully
Jan 23 21:34:44 daemon automountd[8692]: mount done; exiting
Jan 23 21:34:44 daemon automountd[8692]: completing request 100 with error 0
Jan 23 21:34:44 daemon automountd[8675]: child process 8692 terminated
gracefully
Jan 23 21:34:44 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:26 daemon automountd[8675]: got request; forking child process #0
Jan 23 21:35:26 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:26 daemon automountd[8705]: got request 101: from map auto_home,
path /home/.svn/, prefix "/home", key ".svn", options ""
Jan 23 21:35:26 daemon automountd[8705]: parsing map "auto_home"
Jan 23 21:35:26 daemon automountd[8705]: map "auto_home" maps to
"/etc/auto_home"
Jan 23 21:35:26 daemon automountd[8705]: done parsing map "auto_home"
Jan 23 21:35:26 daemon automountd[8705]: map may contain wildcard entries
Jan 23 21:35:26 daemon automountd[8705]: found node defined at auto_home:1; it
is a mountpoint
Jan 23 21:35:26 daemon automountd[8705]: fstype not specified in options;
defaulting to "nfs"
Jan 23 21:35:26 daemon automountd[8705]: retrycnt not specified in options;
defaulting to 1
Jan 23 21:35:26 daemon automountd[8705]: executing "mount -t nfs -o
nfsv4,automounted,retrycnt=1 alfred.sax.de:/home/.svn /home/.svn/" as pid 8706
Jan 23 21:35:26 daemon automountd[8705]: completing request 101 with error 5
Jan 23 21:35:26 daemon automountd[8675]: child process 8705 terminated with
exit status 1
Jan 23 21:35:26 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:27 daemon automountd[8675]: got request; forking child process #0
Jan 23 21:35:27 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:27 daemon automountd[8708]: got request 102: from map auto_home,
path /home/.svn/, prefix "/home", key ".svn", options ""
Jan 23 21:35:27 daemon automountd[8708]: parsing map "auto_home"
Jan 23 21:35:27 daemon automountd[8708]: map "auto_home" maps to
"/etc/auto_home"
Jan 23 21:35:27 daemon automountd[8708]: done parsing map "auto_home"
Jan 23 21:35:27 daemon automountd[8708]: map may contain wildcard entries
Jan 23 21:35:27 daemon automountd[8708]: found node defined at auto_home:1; it
is a mountpoint
Jan 23 21:35:27 daemon automountd[8708]: fstype not specified in options;
defaulting to "nfs"
Jan 23 21:35:27 daemon automountd[8708]: retrycnt not specified in options;
defaulting to 1
Jan 23 21:35:27 daemon automountd[8708]: executing "mount -t nfs -o
nfsv4,automounted,retrycnt=1 alfred.sax.de:/home/.svn /home/.svn/" as pid 8709
Jan 23 21:35:27 daemon automountd[8708]: completing request 102 with error 5
Jan 23 21:35:27 daemon automountd[8675]: child process 8708 terminated with
exit status 1
Jan 23 21:35:27 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:28 daemon automountd[8675]: got request; forking child process #0
Jan 23 21:35:28 daemon automountd[8675]: waiting for request from the kernel
Jan 23 21:35:28 daemon automountd[8711]: got request 103: from map auto_home,
path /home/.svn/, prefix "/home", key ".svn", options ""
Jan 23 21:35:28 daemon automountd[8711]: parsing map "auto_home"
Jan 23 21:35:28 daemon automountd[8711]: map "auto_home" maps to
"/etc/auto_home"
Jan 23 21:35:28 daemon automountd[8711]: done parsing map "auto_home"
Jan 23 21:35:28 daemon automountd[8711]: map may contain wildcard entries
Jan 23 21:35:28 daemon automountd[8711]: found node defined at auto_home:1; it
is a mountpoint
Jan 23 21:35:28 daemon automountd[8711]: fstype not specified in options;
defaulting to "nfs"
Jan 23 21:35:28 daemon automountd[8711]: retrycnt not specified in options;
defaulting to 1
Jan 23 21:35:28 daemon automountd[8711]: executing "mount -t nfs -o
nfsv4,automounted,retrycnt=1 alfred.sax.de:/home/.svn /home/.svn/" as pid 8712
Jan 23 21:35:28 daemon automountd[8711]: completing request 103 with error 5
Jan 23 21:35:28 daemon automountd[8675]: child process 8711 terminated with
exit status 1
Jan 23 21:35:28 daemon automountd[8675]: waiting for request from the kernel
Me thinks stat()ing /home/.svn ought to immediately return ENOENT rather than
pretending that directory might exist.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list