| Age | Commit message (Collapse) | Author |
|
LOCKD_DEBUG is always the same value as CONFIG_SUNRPC_DEBUG, so we can
just use it instead.
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
|
|
Clean up. nlmdbg_cookie2a() is used only in svclock.c.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
|
At the moment, the NLM cookie length is fixed to 8 bytes, while 1024 is the
theoretical maximum. FreeBSD uses 16 bytes, Mac OS X uses 20 bytes.
Therefore we need to make the length dynamic (which I set to 32 bytes).
This patch is based on an old patch for Linux 2.4.23-pre9, which I changed
to patch properly (also added some stylish NIPQUAD fixes).
From: Neil Brown <neilb@cse.unsw.edu.au>
Further lockd tidyups.
- NIPQUAD everywhere that is appropriate
- use XDR_QUADLEN in more places as appropriate
- discard QUADLEN which is a lockd-specific version of XDR_QUADLEN
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
the value
of compound_decode_hdr_maxsz.
NFSv4: fix a printk() typo (spotted by Linda Dunaphant).
NFSv4: Ensure that nfs4_open_reclaim() copies the value of the new stateid back into
the shared nfsv4 state structure.
NFSv4: Don't leak NFS4ERR_WRONGSEC errors back into nfs_lookup().
RPC,NFS,Lockd: Mark the debugging code as "unlikely" so that gcc moves it out of the
mainline code paths.
|
|
The "procedure number" has been used for 2 purposes in the kernel
client RPC implementation:
1) As a number to pass to the server in the RPC header.
2) As an index into the "procedure array" of type 'struct
rpc_procinfo', from which the RPC layer can find the XDR
encode/decode functions, buffer size, and all the other static
data that it needs to construct the on-wire RPC message.
This works fine for NFSv2, v3 and for the NLM locking code for which
there is a one-to-one mapping between NFS file operations, and RPC
procedures.
For NFSv4 on the other hand, the mapping is many-to-one, since there
is only one RPC procedure number: NFSPROC4_COMPOUND.
For efficiency purposes, we want to have a one-to-one mapping between
NFS file operations and the corresponding XDR encode/decode routines,
but currently this is not possible because of (2). The result is the
mess that is 'struct nfs4_op' and encode/decode_compound.
In the process eliminating (2), we might as well change to passing a
pointer to the appropriate procedure array entry instead of an
index. This change can be made transparent
The appended patch therefore does the following:
- Substitute a pointer to the rpc_procinfo instead of the RPC
procedure number in the struct rpc_message.
- Make the RPC procedure number an entry in the struct
rpc_procinfo.
- Clean out the largely unused (except in some obscure lockd
debugging code) p_name field. The latter was just a stringified
version of the RPC procedure name, so for those lockd cases, we
can use the RPC procedure number instead.
|
|
|