diff options
author | Bryan Schumaker | 2012-03-19 19:54:41 +0100 |
---|---|---|
committer | Trond Myklebust | 2012-03-21 14:31:46 +0100 |
commit | 34e137cc7e3b63c254875e59cd48dcbe6757fe6c (patch) | |
tree | ea509e7f715bcbf2fd3541062063348f547e6c6c /fs/nfs/nfs4proc.c | |
parent | NFS: Remove nfs4_setup_sequence from generic read code (diff) | |
download | kernel-qcow2-linux-34e137cc7e3b63c254875e59cd48dcbe6757fe6c.tar.gz kernel-qcow2-linux-34e137cc7e3b63c254875e59cd48dcbe6757fe6c.tar.xz kernel-qcow2-linux-34e137cc7e3b63c254875e59cd48dcbe6757fe6c.zip |
NFS: Remove nfs4_setup_sequence from generic unlink code
This is an NFS v4 specific operation, so it belongs in the NFS v4 code
and not the generic client.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 915385fcf532..9c247fa7915a 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2779,6 +2779,16 @@ static void nfs4_proc_unlink_setup(struct rpc_message *msg, struct inode *dir) nfs41_init_sequence(&args->seq_args, &res->seq_res, 1); } +static void nfs4_proc_unlink_rpc_prepare(struct rpc_task *task, struct nfs_unlinkdata *data) +{ + if (nfs4_setup_sequence(NFS_SERVER(data->dir), + &data->args.seq_args, + &data->res.seq_res, + task)) + return; + rpc_call_start(task); +} + static int nfs4_proc_unlink_done(struct rpc_task *task, struct inode *dir) { struct nfs_removeres *res = task->tk_msg.rpc_resp; @@ -6451,6 +6461,7 @@ const struct nfs_rpc_ops nfs_v4_clientops = { .create = nfs4_proc_create, .remove = nfs4_proc_remove, .unlink_setup = nfs4_proc_unlink_setup, + .unlink_rpc_prepare = nfs4_proc_unlink_rpc_prepare, .unlink_done = nfs4_proc_unlink_done, .rename = nfs4_proc_rename, .rename_setup = nfs4_proc_rename_setup, |