Date: Sun, 2 May 2010 14:29:12 GMT From: "Marcos R. Gonzalez" <marcos.gonzalez@bol.com.br> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/146237: Linux binaries not reading directories mounted with fusefs-sshfs Message-ID: <201005021429.o42ETCnD058362@www.freebsd.org> Resent-Message-ID: <201005021430.o42EU9LF037573@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005021429.o42ETCnD058362>