summaryrefslogtreecommitdiffstats
path: root/include/linux/nfs_xdr.h
diff options
context:
space:
mode:
authorFred Isaman <iisaman@netapp.com>2012-04-20 14:47:54 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-04-27 14:10:38 -0400
commitf453a54a01c7c0453ad9550906e3d2663dd486ac (patch)
tree1eac38e7e186ea0339066e7da417a20e0274b2c0 /include/linux/nfs_xdr.h
parentea2cf2282b4278461266013e9c002ee1c66700ff (diff)
downloadlinux-f453a54a01c7c0453ad9550906e3d2663dd486ac.tar.gz
linux-f453a54a01c7c0453ad9550906e3d2663dd486ac.tar.bz2
linux-f453a54a01c7c0453ad9550906e3d2663dd486ac.zip
NFS: create nfs_commit_completion_ops
Factors out the code that needs to change when directio starts using these code paths. Signed-off-by: Fred Isaman <iisaman@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r--include/linux/nfs_xdr.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 224e1e82670c..0e8b88ad9ae2 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1263,10 +1263,18 @@ struct nfs_mds_commit_info {
struct list_head list;
};
+struct nfs_commit_data;
+struct nfs_inode;
+struct nfs_commit_completion_ops {
+ void (*error_cleanup) (struct nfs_inode *nfsi);
+ void (*completion) (struct nfs_commit_data *data);
+};
+
struct nfs_commit_info {
spinlock_t *lock;
struct nfs_mds_commit_info *mds;
struct pnfs_ds_commit_info *ds;
+ const struct nfs_commit_completion_ops *completion_ops;
};
struct nfs_commit_data {
@@ -1285,6 +1293,7 @@ struct nfs_commit_data {
struct nfs_client *ds_clp; /* pNFS data server */
int ds_commit_index;
const struct rpc_call_ops *mds_ops;
+ const struct nfs_commit_completion_ops *completion_ops;
int (*commit_done_cb) (struct rpc_task *task, struct nfs_commit_data *data);
};