summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-03-19 19:54:41 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-03-21 14:31:46 +0100
commit34e137cc7e3b63c254875e59cd48dcbe6757fe6c (patch)
treeea509e7f715bcbf2fd3541062063348f547e6c6c /include
parentNFS: Remove nfs4_setup_sequence from generic read code (diff)
downloadlinux-34e137cc7e3b63c254875e59cd48dcbe6757fe6c.tar.xz
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 'include')
-rw-r--r--include/linux/nfs_xdr.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 286d74dde053..8d93e688188d 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1192,6 +1192,15 @@ struct nfs_write_data {
struct page *page_array[NFS_PAGEVEC_SIZE];
};
+struct nfs_unlinkdata {
+ struct hlist_node list;
+ struct nfs_removeargs args;
+ struct nfs_removeres res;
+ struct inode *dir;
+ struct rpc_cred *cred;
+ struct nfs_fattr dir_attr;
+};
+
struct nfs_access_entry;
struct nfs_client;
struct rpc_timeout;
@@ -1221,6 +1230,7 @@ struct nfs_rpc_ops {
struct iattr *, int, struct nfs_open_context *);
int (*remove) (struct inode *, struct qstr *);
void (*unlink_setup) (struct rpc_message *, struct inode *dir);
+ void (*unlink_rpc_prepare) (struct rpc_task *, struct nfs_unlinkdata *);
int (*unlink_done) (struct rpc_task *, struct inode *);
int (*rename) (struct inode *, struct qstr *,
struct inode *, struct qstr *);