Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c6b899c authored by Anna Schumaker's avatar Anna Schumaker Committed by Trond Myklebust
Browse files

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: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent fab5fc25
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -613,7 +613,7 @@ static void nfs2_xdr_enc_readlinkargs(struct rpc_rqst *req,
 *	};
 */
static void encode_readargs(struct xdr_stream *xdr,
			    const struct nfs_readargs *args)
			    const struct nfs_pgio_args *args)
{
	u32 offset = args->offset;
	u32 count = args->count;
@@ -629,7 +629,7 @@ static void encode_readargs(struct xdr_stream *xdr,

static void nfs2_xdr_enc_readargs(struct rpc_rqst *req,
				  struct xdr_stream *xdr,
				  const struct nfs_readargs *args)
				  const struct nfs_pgio_args *args)
{
	encode_readargs(xdr, args);
	prepare_reply_buffer(req, args->pages, args->pgbase,
@@ -649,7 +649,7 @@ static void nfs2_xdr_enc_readargs(struct rpc_rqst *req,
 *	};
 */
static void encode_writeargs(struct xdr_stream *xdr,
			     const struct nfs_writeargs *args)
			     const struct nfs_pgio_args *args)
{
	u32 offset = args->offset;
	u32 count = args->count;
@@ -669,7 +669,7 @@ static void encode_writeargs(struct xdr_stream *xdr,

static void nfs2_xdr_enc_writeargs(struct rpc_rqst *req,
				   struct xdr_stream *xdr,
				   const struct nfs_writeargs *args)
				   const struct nfs_pgio_args *args)
{
	encode_writeargs(xdr, args);
	xdr->buf->flags |= XDRBUF_WRITE;
+4 −4
Original line number Diff line number Diff line
@@ -953,7 +953,7 @@ static void nfs3_xdr_enc_readlink3args(struct rpc_rqst *req,
 *	};
 */
static void encode_read3args(struct xdr_stream *xdr,
			     const struct nfs_readargs *args)
			     const struct nfs_pgio_args *args)
{
	__be32 *p;

@@ -966,7 +966,7 @@ static void encode_read3args(struct xdr_stream *xdr,

static void nfs3_xdr_enc_read3args(struct rpc_rqst *req,
				   struct xdr_stream *xdr,
				   const struct nfs_readargs *args)
				   const struct nfs_pgio_args *args)
{
	encode_read3args(xdr, args);
	prepare_reply_buffer(req, args->pages, args->pgbase,
@@ -992,7 +992,7 @@ static void nfs3_xdr_enc_read3args(struct rpc_rqst *req,
 *	};
 */
static void encode_write3args(struct xdr_stream *xdr,
			      const struct nfs_writeargs *args)
			      const struct nfs_pgio_args *args)
{
	__be32 *p;

@@ -1008,7 +1008,7 @@ static void encode_write3args(struct xdr_stream *xdr,

static void nfs3_xdr_enc_write3args(struct rpc_rqst *req,
				    struct xdr_stream *xdr,
				    const struct nfs_writeargs *args)
				    const struct nfs_pgio_args *args)
{
	encode_write3args(xdr, args);
	xdr->buf->flags |= XDRBUF_WRITE;
+2 −2
Original line number Diff line number Diff line
@@ -4055,7 +4055,7 @@ static int nfs4_read_done_cb(struct rpc_task *task, struct nfs_read_data *data)
}

static bool nfs4_read_stateid_changed(struct rpc_task *task,
		struct nfs_readargs *args)
		struct nfs_pgio_args *args)
{

	if (!nfs4_error_stateid_expired(task->tk_status) ||
@@ -4121,7 +4121,7 @@ static int nfs4_write_done_cb(struct rpc_task *task, struct nfs_write_data *data
}

static bool nfs4_write_stateid_changed(struct rpc_task *task,
		struct nfs_writeargs *args)
		struct nfs_pgio_args *args)
{

	if (!nfs4_error_stateid_expired(task->tk_status) ||
+6 −4
Original line number Diff line number Diff line
@@ -1556,7 +1556,8 @@ static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr)
	encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr);
}

static void encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args, struct compound_hdr *hdr)
static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args,
			struct compound_hdr *hdr)
{
	__be32 *p;

@@ -1701,7 +1702,8 @@ static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4
	encode_nfs4_verifier(xdr, &arg->confirm);
}

static void encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args, struct compound_hdr *hdr)
static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args,
			 struct compound_hdr *hdr)
{
	__be32 *p;

@@ -2451,7 +2453,7 @@ static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr,
 * Encode a READ request
 */
static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr,
			      struct nfs_readargs *args)
			      struct nfs_pgio_args *args)
{
	struct compound_hdr hdr = {
		.minorversion = nfs4_xdr_minorversion(&args->seq_args),
@@ -2513,7 +2515,7 @@ static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr,
 * Encode a WRITE request
 */
static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr,
			       struct nfs_writeargs *args)
			       struct nfs_pgio_args *args)
{
	struct compound_hdr hdr = {
		.minorversion = nfs4_xdr_minorversion(&args->seq_args),
+1 −1
Original line number Diff line number Diff line
@@ -470,7 +470,7 @@ int nfs_readpage_result(struct rpc_task *task, struct nfs_read_data *data)

static void nfs_readpage_retry(struct rpc_task *task, struct nfs_read_data *data)
{
	struct nfs_readargs *argp = &data->args;
	struct nfs_pgio_args *argp = &data->args;
	struct nfs_readres *resp = &data->res;

	/* This is a short read! */
Loading