[Samba] Prevent read locks on shares

Jeremy Allison jra at samba.org
Wed Jan 27 23:37:03 UTC 2016


On Thu, Jan 28, 2016 at 09:25:20AM +1100, John Gardeniers wrote:
> I really don't know if this is a Samba or Linux issue but after
> migrating one of our file shares from a Samba 3 server to a Samba 4
> server we discovered a problem that never existed before. On this
> share we have a couple of ini files which is periodically read by a
> Windows application on client machines. The problem appeared when
> one of those files needed to be edited, which can happen several
> times a day. The write failed with an error message stating that the
> file was already opened by another user.
> 
> Using lsof I discovered that there was a read lock on the file. Up
> until yesterday I wasn't even aware of read locks, having never
> encountered them before. Googling only turns up some old articles on
> how locks can be implemented, but I can find nothing about
> preventing them.
> 
> The Windows application which reads the file simply opens it for
> read access and doesn't do anything fancy at all. How is the read
> lock applied? How can it be prevented? We have had to quickly switch
> back to the old server until this can be resolved.

Even on a read-only share a file open for read can
have a read-lock set on it.

It's mapped internally to a lock record, and can
also be mapped to a POSIX fcntl lock.

You can turn off file locking on a per-share
basis by setting:

locking = no

in the [share] section of the smb.conf, but
this is inadvisable if you have applications
that legitimately share file access.



More information about the samba mailing list