Comment 0 for bug 1598183

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Platform:
Ubuntu from 14.10+

Steps to reproduce:
1. Setup a gvfs mount (I used smb and sftp shares configured via nautilus).
2. Create a symlink to the fuse-mounted location e.g.
cd ~/Desktop; ln -sf /run/user/1000/gvfs/smb-share:server=10.0.20.6,share=share1/symlinktest
3. Navigate with nautilus to the symlinked location, open a file available there with e.g. gedit or libreofficeand try to save it.

Expected result:
File is saved.

Actual result:
An enigmatic error message is displayed
(Cannot handle "file:" locations in write mode - for gedit, or "General input/output error while accessing <path>" for libreoffice).

The problems started with commit 548ba46c2ba51c4ec5b0dd8442b476f3a2a7000b fuse: Don't g_file_append_to unless O_APPEND is given. Reverting it makes the issue disappear.

I have rebuild gvfs enabling debugging (#define DEBUG_ENABLED 1) and here is what I got in ~/vfs.debug:
# accessing via symlink
vfs_open: /smb-share:server=10.0.20.6,share=share1/grouptest/symlinktest/test
open_common: flags=500002
vfs_open: -> Operation not supported
# accessing via /run/user/(...)
vfs_open: /smb-share:server=10.0.20.6,share=share1/grouptest/symlinktest/test
open_common: flags=1100000
setup_input_stream: have stream
setup_input_stream: doing read
vfs_open: -> Success

For reasons beyond my understanding the flags are different while accessing the file via the default gvfs-mountpoint causing the execusion to skip the modified section of client/gvfsdfusedaemon.c (returning -ENOTSUP).

I am attaching the full vfs.debug created.
Collapse All Comments
Expand All Comments
Add Comment