summaryrefslogtreecommitdiff
path: root/include/linux/nfs_xdr.h
diff options
context:
space:
mode:
authorAnna Schumaker <Anna.Schumaker@netapp.com>2014-05-06 17:12:24 +0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-05-29 02:12:02 +0400
commit3c6b899c49e5e9c2803b59ee553eddaf69cea7f6 (patch)
treea246624f122f66a823365dfaaf6d3e56be1d2fa8 /include/linux/nfs_xdr.h
parentfab5fc25d230edcc8ee72367e505955a2fae0cac (diff)
downloadlinux-3c6b899c49e5e9c2803b59ee553eddaf69cea7f6.tar.xz
NFS: Create a common argument structure for reads and writes
Reads and writes have very similar arguments. This patch combines them together and documents the few fields used only by write. Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'include/linux/nfs_xdr.h')
-rw-r--r--include/linux/nfs_xdr.h47
1 files changed, 19 insertions, 28 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 3e8fc1fe585b..5875001928f9 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -491,18 +491,6 @@ struct nfs4_delegreturnres {
/*
* Arguments to the read call.
*/
-struct nfs_readargs {
- struct nfs4_sequence_args seq_args;
- struct nfs_fh * fh;
- struct nfs_open_context *context;
- struct nfs_lock_context *lock_context;
- nfs4_stateid stateid;
- __u64 offset;
- __u32 count;
- unsigned int pgbase;
- struct page ** pages;
-};
-
struct nfs_readres {
struct nfs4_sequence_res seq_res;
struct nfs_fattr * fattr;
@@ -513,20 +501,6 @@ struct nfs_readres {
/*
* Arguments to the write call.
*/
-struct nfs_writeargs {
- struct nfs4_sequence_args seq_args;
- struct nfs_fh * fh;
- struct nfs_open_context *context;
- struct nfs_lock_context *lock_context;
- nfs4_stateid stateid;
- __u64 offset;
- __u32 count;
- enum nfs3_stable_how stable;
- unsigned int pgbase;
- struct page ** pages;
- const u32 * bitmask;
-};
-
struct nfs_write_verifier {
char data[8];
};
@@ -545,6 +519,23 @@ struct nfs_writeres {
};
/*
+ * Arguments shared by the read and write call.
+ */
+struct nfs_pgio_args {
+ struct nfs4_sequence_args seq_args;
+ struct nfs_fh * fh;
+ struct nfs_open_context *context;
+ struct nfs_lock_context *lock_context;
+ nfs4_stateid stateid;
+ __u64 offset;
+ __u32 count;
+ unsigned int pgbase;
+ struct page ** pages;
+ const u32 * bitmask; /* used by write */
+ enum nfs3_stable_how stable; /* used by write */
+};
+
+/*
* Arguments to the commit call.
*/
struct nfs_commitargs {
@@ -1269,7 +1260,7 @@ struct nfs_read_data {
struct list_head list;
struct rpc_task task;
struct nfs_fattr fattr; /* fattr storage */
- struct nfs_readargs args;
+ struct nfs_pgio_args args;
struct nfs_readres res;
unsigned long timestamp; /* For lease renewal */
int (*read_done_cb) (struct rpc_task *task, struct nfs_read_data *data);
@@ -1321,7 +1312,7 @@ struct nfs_write_data {
struct rpc_task task;
struct nfs_fattr fattr;
struct nfs_writeverf verf;
- struct nfs_writeargs args; /* argument struct */
+ struct nfs_pgio_args args; /* argument struct */
struct nfs_writeres res; /* result struct */
unsigned long timestamp; /* For lease renewal */
int (*write_done_cb) (struct rpc_task *task, struct nfs_write_data *data);