Robert Rappaport
2007-Jun-15 21:16 UTC
[Samba] samba not responding to linux __break_lease() call.
I am working on a distributed file system running on linux where I am trying to add support for samba OpLocks and I am observing behavior that I do not understand. My understanding is that samba establishes a lease on a file and expects to receive a signal when conditions change and samba must relinquish the lease. In my file system, when I detect a condition, possibly on another node of my cluster, that requires samba to relinquish the lease, the file system calls linux routine, __break_lease(), on the node where the samba server has established the lease. I would expect that the call to __break_lease() would generate a signal that would then result in the samba server making an fcntl() call to release the lease. I clearly see the __break_lease() calls occurring but then I observe a long period (45 seconds the lease timeout period) where nothing happens. I am running samba-3.0.24-3.fc6 on a 32 bit i686 (930 Mhz) machine with a slightly modified linux 2.6.19.5. Any help or insight would be greatly appreciated. - Robert Rappaport
Volker Lendecke
2007-Jun-15 21:40 UTC
[Samba] samba not responding to linux __break_lease() call.
On Fri, Jun 15, 2007 at 05:16:00PM -0400, Robert Rappaport wrote:> server making an fcntl() call to release the lease. I clearly see the > __break_lease() calls occurring but then I observe a long period (45 seconds > the lease timeout period) where nothing happens."nothing happens" meaning exactly what? Is the signal being delivered to the smbd process? If it is, then it is a potential smbd problem. If it's not, there's not much you can do about it. Question: Are you implementing the full beauty of the Windows oplock levels? Or "just" what the Linux Kernel does right now? If I'm right then things like batch oplocks are not supported by Linux right now. I'm asking because if you want to support Windows clients across your cluster you have two options: Use the Samba/ctdb combo to get full Windows semantics or do the full Windows semantics in the kernel. Naturally I'd vote for the ctdb thing and only provide the minimum necessary to local processes and NFS. The Windows semantics are quite tricky, after 15 years of working with it we're still finding new behaviour :-) Volker -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://lists.samba.org/archive/samba/attachments/20070615/a8136762/attachment.bin
Maybe Matching Threads
- Help with "non-integer #successes in a binomial glm"
- [Announce] Samba 4.6.5 Available for Download
- [Announce] Samba 4.6.5 Available for Download
- oplocks, kernel oplocks, kernel share modes, .. - how it all works?
- dhcp lease time hardware in script at dhcpd/Bind/Samba wiki page