Merge tag 'sound-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.git] / fs / nfsd / nfs4xdr.c
index eaaa160..e0f06d3 100644 (file)
@@ -3581,7 +3581,7 @@ nfsd4_encode_stateid(struct xdr_stream *xdr, stateid_t *sid)
 static __be32
 nfsd4_encode_access(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_access *access)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 8);
@@ -3594,7 +3594,7 @@ nfsd4_encode_access(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_
 
 static __be32 nfsd4_encode_bind_conn_to_session(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_bind_conn_to_session *bcts)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 8);
@@ -3611,7 +3611,7 @@ static __be32 nfsd4_encode_bind_conn_to_session(struct nfsd4_compoundres *resp,
 static __be32
 nfsd4_encode_close(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_close *close)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_encode_stateid(xdr, &close->cl_stateid);
 }
@@ -3620,7 +3620,7 @@ nfsd4_encode_close(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_c
 static __be32
 nfsd4_encode_commit(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_commit *commit)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE);
@@ -3634,7 +3634,7 @@ nfsd4_encode_commit(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_
 static __be32
 nfsd4_encode_create(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_create *create)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 20);
@@ -3649,7 +3649,7 @@ static __be32
 nfsd4_encode_getattr(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_getattr *getattr)
 {
        struct svc_fh *fhp = getattr->ga_fhp;
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_encode_fattr(xdr, fhp, fhp->fh_export, fhp->fh_dentry,
                                    getattr->ga_bmval, resp->rqstp, 0);
@@ -3658,7 +3658,7 @@ nfsd4_encode_getattr(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4
 static __be32
 nfsd4_encode_getfh(struct nfsd4_compoundres *resp, __be32 nfserr, struct svc_fh **fhpp)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct svc_fh *fhp = *fhpp;
        unsigned int len;
        __be32 *p;
@@ -3713,7 +3713,7 @@ again:
 static __be32
 nfsd4_encode_lock(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_lock *lock)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        if (!nfserr)
                nfserr = nfsd4_encode_stateid(xdr, &lock->lk_resp_stateid);
@@ -3726,7 +3726,7 @@ nfsd4_encode_lock(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_lo
 static __be32
 nfsd4_encode_lockt(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_lockt *lockt)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        if (nfserr == nfserr_denied)
                nfsd4_encode_lock_denied(xdr, &lockt->lt_denied);
@@ -3736,7 +3736,7 @@ nfsd4_encode_lockt(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_l
 static __be32
 nfsd4_encode_locku(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_locku *locku)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_encode_stateid(xdr, &locku->lu_stateid);
 }
@@ -3745,7 +3745,7 @@ nfsd4_encode_locku(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_l
 static __be32
 nfsd4_encode_link(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_link *link)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 20);
@@ -3759,7 +3759,7 @@ nfsd4_encode_link(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_li
 static __be32
 nfsd4_encode_open(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_open *open)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        nfserr = nfsd4_encode_stateid(xdr, &open->op_stateid);
@@ -3853,7 +3853,7 @@ nfsd4_encode_open(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_op
 static __be32
 nfsd4_encode_open_confirm(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_open_confirm *oc)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_encode_stateid(xdr, &oc->oc_resp_stateid);
 }
@@ -3861,7 +3861,7 @@ nfsd4_encode_open_confirm(struct nfsd4_compoundres *resp, __be32 nfserr, struct
 static __be32
 nfsd4_encode_open_downgrade(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_open_downgrade *od)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_encode_stateid(xdr, &od->od_stateid);
 }
@@ -3871,7 +3871,7 @@ static __be32 nfsd4_encode_splice_read(
                                struct nfsd4_read *read,
                                struct file *file, unsigned long maxcount)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct xdr_buf *buf = xdr->buf;
        int status, space_left;
        u32 eof;
@@ -3937,7 +3937,7 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
                                 struct nfsd4_read *read,
                                 struct file *file, unsigned long maxcount)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        u32 eof;
        int starting_len = xdr->buf->len - 8;
        __be32 nfserr;
@@ -3976,7 +3976,7 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
                  struct nfsd4_read *read)
 {
        unsigned long maxcount;
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct file *file;
        int starting_len = xdr->buf->len;
        __be32 *p;
@@ -3990,7 +3990,7 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
                WARN_ON_ONCE(test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags));
                return nfserr_resource;
        }
-       if (resp->xdr.buf->page_len &&
+       if (resp->xdr->buf->page_len &&
            test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags)) {
                WARN_ON_ONCE(1);
                return nfserr_resource;
@@ -4020,7 +4020,7 @@ nfsd4_encode_readlink(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd
        int maxcount;
        __be32 wire_count;
        int zero = 0;
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        int length_offset = xdr->buf->len;
        int status;
        __be32 *p;
@@ -4072,7 +4072,7 @@ nfsd4_encode_readdir(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4
        int bytes_left;
        loff_t offset;
        __be64 wire_offset;
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        int starting_len = xdr->buf->len;
        __be32 *p;
 
@@ -4083,8 +4083,8 @@ nfsd4_encode_readdir(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4
        /* XXX: Following NFSv3, we ignore the READDIR verifier for now. */
        *p++ = cpu_to_be32(0);
        *p++ = cpu_to_be32(0);
-       resp->xdr.buf->head[0].iov_len = ((char *)resp->xdr.p)
-                               - (char *)resp->xdr.buf->head[0].iov_base;
+       xdr->buf->head[0].iov_len = (char *)xdr->p -
+                                   (char *)xdr->buf->head[0].iov_base;
 
        /*
         * Number of bytes left for directory entries allowing for the
@@ -4159,7 +4159,7 @@ err_no_verf:
 static __be32
 nfsd4_encode_remove(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_remove *remove)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 20);
@@ -4172,7 +4172,7 @@ nfsd4_encode_remove(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_
 static __be32
 nfsd4_encode_rename(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_rename *rename)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 40);
@@ -4255,7 +4255,7 @@ static __be32
 nfsd4_encode_secinfo(struct nfsd4_compoundres *resp, __be32 nfserr,
                     struct nfsd4_secinfo *secinfo)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_do_encode_secinfo(xdr, secinfo->si_exp);
 }
@@ -4264,7 +4264,7 @@ static __be32
 nfsd4_encode_secinfo_no_name(struct nfsd4_compoundres *resp, __be32 nfserr,
                     struct nfsd4_secinfo_no_name *secinfo)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
 
        return nfsd4_do_encode_secinfo(xdr, secinfo->sin_exp);
 }
@@ -4276,7 +4276,7 @@ nfsd4_encode_secinfo_no_name(struct nfsd4_compoundres *resp, __be32 nfserr,
 static __be32
 nfsd4_encode_setattr(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_setattr *setattr)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 16);
@@ -4300,7 +4300,7 @@ nfsd4_encode_setattr(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4
 static __be32
 nfsd4_encode_setclientid(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_setclientid *scd)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        if (!nfserr) {
@@ -4324,7 +4324,7 @@ nfsd4_encode_setclientid(struct nfsd4_compoundres *resp, __be32 nfserr, struct n
 static __be32
 nfsd4_encode_write(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_write *write)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 16);
@@ -4341,7 +4341,7 @@ static __be32
 nfsd4_encode_exchange_id(struct nfsd4_compoundres *resp, __be32 nfserr,
                         struct nfsd4_exchange_id *exid)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
        char *major_id;
        char *server_scope;
@@ -4419,7 +4419,7 @@ static __be32
 nfsd4_encode_create_session(struct nfsd4_compoundres *resp, __be32 nfserr,
                            struct nfsd4_create_session *sess)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 24);
@@ -4472,7 +4472,7 @@ static __be32
 nfsd4_encode_sequence(struct nfsd4_compoundres *resp, __be32 nfserr,
                      struct nfsd4_sequence *seq)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 20);
@@ -4495,7 +4495,7 @@ static __be32
 nfsd4_encode_test_stateid(struct nfsd4_compoundres *resp, __be32 nfserr,
                          struct nfsd4_test_stateid *test_stateid)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct nfsd4_test_stateid_id *stateid, *next;
        __be32 *p;
 
@@ -4516,7 +4516,7 @@ static __be32
 nfsd4_encode_getdeviceinfo(struct nfsd4_compoundres *resp, __be32 nfserr,
                struct nfsd4_getdeviceinfo *gdev)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        const struct nfsd4_layout_ops *ops;
        u32 starting_len = xdr->buf->len, needed_len;
        __be32 *p;
@@ -4572,7 +4572,7 @@ static __be32
 nfsd4_encode_layoutget(struct nfsd4_compoundres *resp, __be32 nfserr,
                struct nfsd4_layoutget *lgp)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        const struct nfsd4_layout_ops *ops;
        __be32 *p;
 
@@ -4599,7 +4599,7 @@ static __be32
 nfsd4_encode_layoutcommit(struct nfsd4_compoundres *resp, __be32 nfserr,
                          struct nfsd4_layoutcommit *lcp)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 4);
@@ -4620,7 +4620,7 @@ static __be32
 nfsd4_encode_layoutreturn(struct nfsd4_compoundres *resp, __be32 nfserr,
                struct nfsd4_layoutreturn *lrp)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 4);
@@ -4638,7 +4638,7 @@ nfsd42_encode_write_res(struct nfsd4_compoundres *resp,
                struct nfsd42_write_res *write, bool sync)
 {
        __be32 *p;
-       p = xdr_reserve_space(&resp->xdr, 4);
+       p = xdr_reserve_space(resp->xdr, 4);
        if (!p)
                return nfserr_resource;
 
@@ -4647,11 +4647,11 @@ nfsd42_encode_write_res(struct nfsd4_compoundres *resp,
        else {
                __be32 nfserr;
                *p++ = cpu_to_be32(1);
-               nfserr = nfsd4_encode_stateid(&resp->xdr, &write->cb_stateid);
+               nfserr = nfsd4_encode_stateid(resp->xdr, &write->cb_stateid);
                if (nfserr)
                        return nfserr;
        }
-       p = xdr_reserve_space(&resp->xdr, 8 + 4 + NFS4_VERIFIER_SIZE);
+       p = xdr_reserve_space(resp->xdr, 8 + 4 + NFS4_VERIFIER_SIZE);
        if (!p)
                return nfserr_resource;
 
@@ -4665,7 +4665,7 @@ nfsd42_encode_write_res(struct nfsd4_compoundres *resp,
 static __be32
 nfsd42_encode_nl4_server(struct nfsd4_compoundres *resp, struct nl4_server *ns)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct nfs42_netaddr *addr;
        __be32 *p;
 
@@ -4713,7 +4713,7 @@ nfsd4_encode_copy(struct nfsd4_compoundres *resp, __be32 nfserr,
        if (nfserr)
                return nfserr;
 
-       p = xdr_reserve_space(&resp->xdr, 4 + 4);
+       p = xdr_reserve_space(resp->xdr, 4 + 4);
        *p++ = xdr_one; /* cr_consecutive */
        *p++ = cpu_to_be32(copy->cp_synchronous);
        return 0;
@@ -4723,7 +4723,7 @@ static __be32
 nfsd4_encode_offload_status(struct nfsd4_compoundres *resp, __be32 nfserr,
                            struct nfsd4_offload_status *os)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 8 + 4);
@@ -4740,7 +4740,7 @@ nfsd4_encode_read_plus_data(struct nfsd4_compoundres *resp,
                            unsigned long *maxcount, u32 *eof,
                            loff_t *pos)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct file *file = read->rd_nf->nf_file;
        int starting_len = xdr->buf->len;
        loff_t hole_pos;
@@ -4799,7 +4799,7 @@ nfsd4_encode_read_plus_hole(struct nfsd4_compoundres *resp,
        count = data_pos - read->rd_offset;
 
        /* Content type, offset, byte count */
-       p = xdr_reserve_space(&resp->xdr, 4 + 8 + 8);
+       p = xdr_reserve_space(resp->xdr, 4 + 8 + 8);
        if (!p)
                return nfserr_resource;
 
@@ -4817,7 +4817,7 @@ nfsd4_encode_read_plus(struct nfsd4_compoundres *resp, __be32 nfserr,
                       struct nfsd4_read *read)
 {
        unsigned long maxcount, count;
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct file *file;
        int starting_len = xdr->buf->len;
        int last_segment = xdr->buf->len;
@@ -4888,7 +4888,7 @@ static __be32
 nfsd4_encode_copy_notify(struct nfsd4_compoundres *resp, __be32 nfserr,
                         struct nfsd4_copy_notify *cn)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        if (nfserr)
@@ -4924,7 +4924,7 @@ nfsd4_encode_seek(struct nfsd4_compoundres *resp, __be32 nfserr,
 {
        __be32 *p;
 
-       p = xdr_reserve_space(&resp->xdr, 4 + 8);
+       p = xdr_reserve_space(resp->xdr, 4 + 8);
        *p++ = cpu_to_be32(seek->seek_eof);
        p = xdr_encode_hyper(p, seek->seek_pos);
 
@@ -4985,7 +4985,7 @@ static __be32
 nfsd4_encode_getxattr(struct nfsd4_compoundres *resp, __be32 nfserr,
                      struct nfsd4_getxattr *getxattr)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p, err;
 
        p = xdr_reserve_space(xdr, 4);
@@ -5009,7 +5009,7 @@ static __be32
 nfsd4_encode_setxattr(struct nfsd4_compoundres *resp, __be32 nfserr,
                      struct nfsd4_setxattr *setxattr)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 20);
@@ -5050,7 +5050,7 @@ static __be32
 nfsd4_encode_listxattrs(struct nfsd4_compoundres *resp, __be32 nfserr,
                        struct nfsd4_listxattrs *listxattrs)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        u32 cookie_offset, count_offset, eof;
        u32 left, xdrleft, slen, count;
        u32 xdrlen, offset;
@@ -5161,7 +5161,7 @@ static __be32
 nfsd4_encode_removexattr(struct nfsd4_compoundres *resp, __be32 nfserr,
                         struct nfsd4_removexattr *removexattr)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        __be32 *p;
 
        p = xdr_reserve_space(xdr, 20);
@@ -5301,7 +5301,7 @@ __be32 nfsd4_check_resp_size(struct nfsd4_compoundres *resp, u32 respsize)
 void
 nfsd4_encode_operation(struct nfsd4_compoundres *resp, struct nfsd4_op *op)
 {
-       struct xdr_stream *xdr = &resp->xdr;
+       struct xdr_stream *xdr = resp->xdr;
        struct nfs4_stateowner *so = resp->cstate.replay_owner;
        struct svc_rqst *rqstp = resp->rqstp;
        const struct nfsd4_operation *opdesc = op->opdesc;
@@ -5430,14 +5430,14 @@ int
 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p)
 {
        struct nfsd4_compoundres *resp = rqstp->rq_resp;
-       struct xdr_buf *buf = resp->xdr.buf;
+       struct xdr_buf *buf = resp->xdr->buf;
 
        WARN_ON_ONCE(buf->len != buf->head[0].iov_len + buf->page_len +
                                 buf->tail[0].iov_len);
 
        *p = resp->cstate.status;
 
-       rqstp->rq_next_page = resp->xdr.page_ptr + 1;
+       rqstp->rq_next_page = resp->xdr->page_ptr + 1;
 
        p = resp->tagp;
        *p++ = htonl(resp->taglen);