[Samba] samba not responding to linux __break_lease() call. - Samba

This is a discussion on [Samba] samba not responding to linux __break_lease() call. - Samba ; 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 ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: [Samba] samba not responding to linux __break_lease() call.

  1. [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
    --
    To unsubscribe from this list go to the following URL and read the
    instructions: https://lists.samba.org/mailman/listinfo/samba

  2. Re: [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

    --
    To unsubscribe from this list go to the following URL and read the
    instructions: https://lists.samba.org/mailman/listinfo/samba
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.5 (GNU/Linux)

    iD8DBQFGcwc6pZr5CauZH5wRAuvHAJ9NgpUCpYyZgLKK+mMtbI v7A8KvOwCghMVq
    /fYHqvJldkeAK/jquGsyp4I=
    =vvZz
    -----END PGP SIGNATURE-----


+ Reply to Thread