kern/146237: Linux binaries not reading directories mounted with
fusefs-sshfs
Marcos R. Gonzalez
marcos.gonzalez at bol.com.br
Sun May 2 14:30:10 UTC 2010
>Number: 146237
>Category: kern
>Synopsis: Linux binaries not reading directories mounted with fusefs-sshfs
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun May 02 14:30:09 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Marcos R. Gonzalez
>Release: FreeBSD 8.0-RELEASE-p2
>Organization:
Casa de Pedra
>Environment:
FreeBSD freebsd-mobo.mrgz.org 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #8: Sat May 1 22:09:11 BRT 2010 root at freebsd-mobo.mrgz.org:/usr/obj/usr/src/sys/MYKERNEL i386
>Description:
Linux binaries can't read directories mounted with fusefs-sshfs. They can read regular files but not directories.
Native FreeBSD binaries are ok and linux binaries with smbfs are doing well too. The only problem is the combination fusefs-sshfs+linux+directories.
>How-To-Repeat:
With the modules "kldloaded": linux, linprocfs, fuse, mount a remote folder with sshfs:
sshfs user at server:/home/user /home/user/remote
Password: ******
Supose inside server's /home/user there is one regular file, file.txt. This command prints the expected output:
$ /usr/compat/linux/bin/ls /home/user/remote/file.txt
$ /home/user/remote/file.txt
This one, does not:
$ /usr/compat/linux/bin/ls /home/user/remote
$ /usr/compat/linux/bin/ls: cannot open directory /mnt/smb/server/: Not a directory
>Fix:
Not a fix, but I inserted some debugging on /usr/src/sys/compat/linux/linux_file.c on linux_common_open (line 158)
if (l_flags & LINUX_O_DIRECTORY)
{
if (fp->f_type != DTYPE_VNODE ||
fp->f_vnode->v_type != VDIR) {
printf(LMSG("f_type: %d = %d, v_type: %d = %d"), fp->f_type, DTYPE_VNODE,
fp->f_vnode->v_type,VDIR);
error = ENOTDIR;
}
}
/var/log/messages gave me this output:
May 1 11:22:05 freebsd kernel: linux (1091): f_type: 0 = 1, v_type: 2 = 2
The file descriptor type (fp->f_type) is 0 (should be DTYPE_VNODE, I think).
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list