The following set of patches fix known issues with the 2.6.7 NFS client code, and significantly enhance the support for NFSv4.
VFS,NFSv4: Fix locking code so that it uses current->tgid to determine whether or not locks are the same. Remove current->files lockowner
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFS: Ensure that we always clean up any resulting locks if we interrupt a process in the middle of a locking RPC call. Clean up locking code
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv3/v4: be more efficient when doing ACCESS RPC calls. Always ask for the full set of permissions.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Optimizing away the case of negative dentries in nfs_open_revalidate() avoids several atomicity problems.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Fix the symlink overflow bug.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Fix up the exception handling. Ensure we always handle NFS4ERR_DELAY properly.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Clean up the reboot recovery. Ensure that we exclude stateful operations by using a per-server read/write semaphore.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: On server reboot we need to recover byte-range locks.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Prime SETCLIENTID call for the delegation callback info.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv2/v3/v4: Place NFS nfs_page shared data into a single structure that hangs off filp->private_data. As a side effect, this also cleans up the NFSv4 private file state info.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: More cleanups of the NFSv4 state.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Basic code for managing delegation state.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Delegation callback server.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: XDR cleanups in preparation for delegations.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: XDR cleanups in preparation for delegations.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Service delegation recall requests from the server.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: More delegation recall code
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Recover delegations on server reboot.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Delegated open.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: More aggressive caching if we have a delegation.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
NFSv4: Enable delegations by actually telling the server about our recall ability.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
RPC: Convert rpciod into a work queue for greater flexibility.
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
RPC: Remove the rpc_queue_lock global spinlock. Replace it with per-rpc_queue spinlocks
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
All of the above patches rolled into one.