diff options
author | Chuck Lever <cel@netapp.com> | 2005-08-25 19:25:49 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-09-23 12:38:33 -0400 |
commit | 808012fbb23a52ec59352445d2076d175ad4ab26 (patch) | |
tree | 7175edb3917bc35f7f5484f567e91d7303a17663 /net/sunrpc/auth_gss | |
parent | 262965f53defd312a294b45366ea17907b6a616b (diff) |
[PATCH] RPC: skip over transport-specific heads automatically
Add a generic mechanism for skipping over transport-specific headers
when constructing an RPC request. This removes another "xprt->stream"
dependency.
Test-plan:
Write-intensive workload on a single mount point (try both UDP and
TCP).
Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/auth_gss')
-rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 53a030acdf75..d2b08f16c257 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
@@ -844,10 +844,8 @@ gss_marshal(struct rpc_task *task, u32 *p) | |||
844 | 844 | ||
845 | /* We compute the checksum for the verifier over the xdr-encoded bytes | 845 | /* We compute the checksum for the verifier over the xdr-encoded bytes |
846 | * starting with the xid and ending at the end of the credential: */ | 846 | * starting with the xid and ending at the end of the credential: */ |
847 | iov.iov_base = req->rq_snd_buf.head[0].iov_base; | 847 | iov.iov_base = xprt_skip_transport_header(task->tk_xprt, |
848 | if (task->tk_client->cl_xprt->stream) | 848 | req->rq_snd_buf.head[0].iov_base); |
849 | /* See clnt.c:call_header() */ | ||
850 | iov.iov_base += 4; | ||
851 | iov.iov_len = (u8 *)p - (u8 *)iov.iov_base; | 849 | iov.iov_len = (u8 *)p - (u8 *)iov.iov_base; |
852 | xdr_buf_from_iov(&iov, &verf_buf); | 850 | xdr_buf_from_iov(&iov, &verf_buf); |
853 | 851 | ||