nfs41: use nfs4_fsinfo_res
authorBenny Halevy <bhalevy@panasas.com>
Wed, 1 Apr 2009 13:21:57 +0000 (09:21 -0400)
committerBenny Halevy <bhalevy@panasas.com>
Wed, 17 Jun 2009 17:46:23 +0000 (10:46 -0700)
In preparation for nfs41 sequence processing.

Signed-off-by: Andy Admason <andros@netapp.com>
[define nfs4_fsinfo_res]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
fs/nfs/nfs4xdr.c
include/linux/nfs_xdr.h

index b715f605761148b1eaa412fb05651edc528d99be..b8915ef533da48509de56ffd5a3ecc71bf849c8d 100644 (file)
@@ -2458,10 +2458,13 @@ static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle,
                .fh = fhandle,
                .bitmask = server->attr_bitmask,
        };
+       struct nfs4_fsinfo_res res = {
+               .fsinfo = fsinfo,
+       };
        struct rpc_message msg = {
                .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_FSINFO],
                .rpc_argp = &args,
-               .rpc_resp = fsinfo,
+               .rpc_resp = &res,
        };
 
        return rpc_call_sync(server->client, &msg, 0);
index b7871ad82aac778ee05238eda668cd5124149f51..d9ab8209c2864e4619bd6328149390b315f1f8e1 100644 (file)
@@ -4351,7 +4351,8 @@ out:
 /*
  * FSINFO request
  */
-static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, __be32 *p, struct nfs_fsinfo *fsinfo)
+static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, __be32 *p,
+                              struct nfs4_fsinfo_res *res)
 {
        struct xdr_stream xdr;
        struct compound_hdr hdr;
@@ -4362,7 +4363,7 @@ static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, __be32 *p, struct nfs_fsinf
        if (!status)
                status = decode_putfh(&xdr);
        if (!status)
-               status = decode_fsinfo(&xdr, fsinfo);
+               status = decode_fsinfo(&xdr, res->fsinfo);
        return status;
 }
 
index 4dac59ef6f4fa73ad4b25b373a3d372b6b133b86..7d64913cbb1b2d0ddc23c8448fc2cb4d6c1e8c12 100644 (file)
@@ -675,6 +675,11 @@ struct nfs4_fsinfo_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_fsinfo_res {
+       struct nfs_fsinfo              *fsinfo;
+       struct nfs4_sequence_res        seq_res;
+};
+
 struct nfs4_getattr_arg {
        const struct nfs_fh *           fh;
        const u32 *                     bitmask;