Re: Changes in gvfsfusedaemon.c in 1.23.1 broke SQLite file locking on SMB



Hi Markus,

some fuse daemon changes were done between those releases to prevent data corruptions:
https://bugzilla.gnome.org/show_bug.cgi?id=632296

I suppose that your problems are caused by the following commit:
https://git.gnome.org/browse/gvfs/commit/?id=548ba46

See the commit message. Opening a file with a bare O_WRONLY or O_RDWR returns ENOTSUP since there is no 
equivalent in gvfs. This change was necessary to avoid data corruptions, because POSIX and GIO apis are not 
compatible. 

Fuse daemon is just limited fallback for applications which don't support GIO api. I strongly recommends to 
use GIO based applications instead, but I see it is problem to replace Calibre, or KeePassX...

Regards

Ondrej

----- Original Message -----
Hi,

running on Ubuntu 15.04, I am not able to open SQLite databases that sit
on an SMB share for writing. For example, Calibre and KeePassX both
refuse to use/write to a database on an SMB share. This was however
working fine on Ubuntu 14.10. The SQLite folks told me this would be
primarily due to the SQLite being unable to obtain a file lock on the
database file.

After some bisecting, I identified gvfs version 1.23.1 as the first
version where these applications fail to write to the database.
Specifically, when I replace the content of `client/gvfsfusedaemon.c` in
1.23.1 with the contents of the file from 1.22.4, the databases works
fine even with the remaining changes from 1.23.1.

Is someone here able to identify what specific part of the changes in
that file might have broken SQLite file locking behavior?

Thanks,
Markus
_______________________________________________
gvfs-list mailing list
gvfs-list gnome org
https://mail.gnome.org/mailman/listinfo/gvfs-list



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