[Samba] Problems with file locking over gnome-vfs (esp.
OpenOffice.org)
Lars Erik Kolden
lars.erik.kolden at gmail.com
Fri Oct 17 07:48:42 GMT 2008
On Thu, Oct 16, 2008 at 6:30 PM, Jeremy Allison <jra at samba.org> wrote:
> Ok, the reason it works between XP -> XP is that the XP clients
> open with deny modes (not locking) that prevent two simultaneous
> read/write opens.
>
> The reason it works XP -> Linux is the same as the above. The
> XP client opens with DENY_WRITE, the Linux client opens with
> DENY_NONE - these modes conflict. Not a great error message,
> from the Gnome VFS open, but there you go. Probably doesn't
> know what to do with the lower level "sharing violation"
> error from libsmbclient.
>
> The one that bites is Linux -> Linux. This is because
> the Gnome VFS has no locking primitives (not an expert
> on Gnome VFS so people with more knowledge feel free
> to contradict me).
>
> So what happens is client1 opens with sharing mode
> DENY_NONE (typical Unix open), client2 opens with
> sharing mode DENY_NONE. There's no conflict.
>
> Now when this happens on a local Linux filesystem
> the OO clients do fcntl byte range locks after the
> open to do exclusion, and to tell if there's another
> client with this file open.
>
> Over Gnome VFS those fcntl lock calls get dropped
> on the floor - no way to remote them to the Samba
> server.
>
> The reason it works with CIFSFS is that CIFSFS
> will remote those lock requests correctly.
>
> So, get the local clients to mount the share
> on a local directory, and then it should work
> as the fcntl locks will get remoted for the Linux
> clients, and the share modes will protect you
> for the XP clients.
>
> Without locking support in Gnome VFS I don't think
> there's a way to properly do this using Gnome VFS.
>
> Jeremy.
>
Thanks, now I tried to mount directly in the filesystem with mount -t
cifs, but still no locking. I see later in this thread that OOo cross
platform locking is broken altogether. Anyway, here is the output from
smbstatus on the server (the part which applies to locks):
Locked files:
Pid Uid DenyMode Access R/W Oplock
SharePath Name Time
--------------------------------------------------------------------------------------------------
16413 5017 DENY_NONE 0x12019f RDWR NONE
/home/test testmappe/kjkjkjkjkj.odt Fri Oct 17 09:43:03 2008
16366 5030 DENY_NONE 0x12019f RDWR NONE
/home/test testmappe/kjkjkjkjkj.odt Fri Oct 17 09:43:26 2008
odin:/var/log#
As you see, there is still no conflict.
Thanks for your thorough reply once again.
Best regards,
Lars Erik
More information about the samba
mailing list