diff options
author | Andy Adamson <andros@netapp.com> | 2009-04-01 09:22:19 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 13:46:42 -0400 |
commit | 69ab40c4c3b9622232e31e0ee145875a2853c113 (patch) | |
tree | 72b5f87b10bd9d5069391cb39c4110f28416d038 /fs/nfs/nfs4proc.c | |
parent | b0df806c0f9d61e5fcfdb0f4e606e1a59303aaa6 (diff) |
nfs41: nfs41_call_sync_done
Implement nfs4.1 synchronous rpc_call_done method
that essentially just calls nfs4_sequence_done, that turns
around and calls nfs41_sequence_done for minorversion1 rpcs.
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[nfs41: check for session not minorversion]
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[move adding nfs4_sequence_free_slot from nfs41-separate-free-slot-from-sequence-done]
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[nfs41: nfs41_call_sync_data use nfs_client not nfs_server]
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 188f2ce593ec..a8e0b3573594 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -492,8 +492,17 @@ static void nfs41_call_sync_prepare(struct rpc_task *task, void *calldata) | |||
492 | rpc_call_start(task); | 492 | rpc_call_start(task); |
493 | } | 493 | } |
494 | 494 | ||
495 | static void nfs41_call_sync_done(struct rpc_task *task, void *calldata) | ||
496 | { | ||
497 | struct nfs41_call_sync_data *data = calldata; | ||
498 | |||
499 | nfs41_sequence_done(data->clp, data->seq_res, task->tk_status); | ||
500 | nfs41_sequence_free_slot(data->clp, data->seq_res); | ||
501 | } | ||
502 | |||
495 | struct rpc_call_ops nfs41_call_sync_ops = { | 503 | struct rpc_call_ops nfs41_call_sync_ops = { |
496 | .rpc_call_prepare = nfs41_call_sync_prepare, | 504 | .rpc_call_prepare = nfs41_call_sync_prepare, |
505 | .rpc_call_done = nfs41_call_sync_done, | ||
497 | }; | 506 | }; |
498 | 507 | ||
499 | static int nfs4_call_sync_sequence(struct nfs_client *clp, | 508 | static int nfs4_call_sync_sequence(struct nfs_client *clp, |