Re: Does GVFS fully support POSIX E/S?



On Wed, Mar 18, 2015 at 07:47:44PM +0100, Jobin, Gaël wrote:
 

Hi all, 

I'm trying to share an encrypted container (Vecracrypt, the successor of
Truecrypt) through Samba on my local network. 

If my shared folder is mounted using the command "mount", the container
can be opened without any problems. Through Nautilus (gvfs-mount), the
shared folder seems mounted correctly and the encrypted container can be
copied on my desktop but Veracrypt cannot open/mount it directly from
the GVFS mountpoint (says something "open error -260" or something). 

I started looking for the difference between the native "mount" command
and "gvfs-mount". One is done using kernel driver while the other use a
virtual filesystem in the userland. What I don't understand is that both
should implement the Posix E/S API. During my research I found this on
https://wiki.gnome.org/Projects/gvfs/doc: [1] 

Why should they both implement this API? (not exactly sure what the E/S
api is either)


_Please note that due to different nature of POSIX and GIO
filesystems, not everything is possible in POSIX world and there
will always be trade-offs. Moreover not all backends implement every
GVfsBackend method, e.g. backend implements file
open/read/write/close but not seeking. Some POSIX applications may
not function properly due to that, the translation is not 1:1.
Things like returning zero file system size and free space just
because the actual backend has no native support may make some apps
confused refusing to write any data._

So, I assume that the backend for Samba (gvfs-smb) does not fully
implement the Posix E/S API right? In the meantime, the "mount" command
use CIFS who, apparently, implement the Posix E/S API better than
gvfs-smb ? 

So, what should be done to have Veracrypt working with GVFS? 


So gvfs provides higher level operations like pull, push, copy, etc
since these are generally what applications want. However, the gvfs-smb
generally provides reasonable support for lower-level operations so it
may be possible to use gvfs-smb underneath Vecracrypt. But you'd need to
find out what is going wrong...

You can run the following in a terminal:
pkill gvfs; GVFS_DEBUG=all GVFS_SMB_DEBUG=10 `find /usr/lib* -name
'gvfsd'` &> ~/log.txt

Then mount the smb share, reproduce the problem, and attach the log so
it's possible to see what is happening. Also stracing gvfsd-smb and
gvfsd-fuse would be useful.

Cheers
-- 
Ross Lagerwall

Attachment: pgpXUZh939cpr.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]