04 Aug, 2006

1 commit

  • We never actually set the b_done field any more; it's always zero.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Trond Myklebust
    (cherry picked from af8412d4283ef91356e65e0ed9b025b376aebded commit)

    J. Bruce Fields
     

21 Jun, 2006

1 commit


09 Jun, 2006

3 commits


26 Apr, 2006

1 commit


21 Mar, 2006

9 commits


15 Feb, 2006

1 commit

  • If 2 threads attached to the same process are blocking on different locks on
    different files (maybe even on different servers) but have the same lock
    arguments (i.e. same offset+length - actually quite common, since most
    processes try to lock the entire file) then the first GRANTED call that wakes
    one up will also wake the other.

    Currently when the NLM_GRANTED callback comes in, lockd walks the list of
    blocked locks in search of a match to the lock that the NLM server has
    granted. Although it checks the lock pid, start and end, it fails to check
    the filehandle and the server address.

    By checking the filehandle and server IP address, we ensure that this only
    happens if the locks truly are referencing the same file.

    Signed-off-by: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Trond Myklebust
     

02 Feb, 2006

2 commits

  • If the server returns NLM_LCK_DENIED_NOLOCKS, we currently retry the
    entire NLM_CANCEL request. This may end up looping forever unless the
    server changes its mind (why would it do that, though?).

    Ensure that we limit the number of retries (to 3).

    See bug# 5957 in bugzilla.kernel.org.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • The OpenGroup docs state that the arguments "block", "exclusive" and
    "alock" must exactly match the arguments for the lock call that we are
    trying to cancel.
    Currently, "block" is always set to false, which is wrong.

    See bug# 5956 on bugzilla.kernel.org.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

07 Jan, 2006

1 commit

  • Shrink the RPC task structure. Instead of storing separate pointers
    for task->tk_exit and task->tk_release, put them in a structure.

    Also pass the user data pointer as a parameter instead of passing it via
    task->tk_calldata. This enables us to nest callbacks.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

23 Jun, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds