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

Signed-off-by: Andy Admason <andros@netapp.com>
[define nfs4_server_caps_arg]
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 cdd8e74c47d079bc0f58243eddd57098fcebf723..5ef1022b7e6fc774a2b59d108dae8f2d7d86a8ab 100644 (file)
@@ -1584,10 +1584,13 @@ void nfs4_close_context(struct nfs_open_context *ctx, int is_sync)
 
 static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
 {
+       struct nfs4_server_caps_arg args = {
+               .fhandle = fhandle,
+       };
        struct nfs4_server_caps_res res = {};
        struct rpc_message msg = {
                .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_SERVER_CAPS],
-               .rpc_argp = fhandle,
+               .rpc_argp = &args,
                .rpc_resp = &res,
        };
        int status;
index 1690f0e44b9169bf0d0277b98f1a43776b0bd18a..91305861037a749352fd020ef520c22af541f722 100644 (file)
@@ -1900,7 +1900,8 @@ static int nfs4_xdr_enc_statfs(struct rpc_rqst *req, __be32 *p, const struct nfs
 /*
  * GETATTR_BITMAP request
  */
-static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struct nfs_fh *fhandle)
+static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p,
+                                   struct nfs4_server_caps_arg *args)
 {
        struct xdr_stream xdr;
        struct compound_hdr hdr = {
@@ -1909,7 +1910,7 @@ static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struc
 
        xdr_init_encode(&xdr, &req->rq_snd_buf, p);
        encode_compound_hdr(&xdr, &hdr);
-       encode_putfh(&xdr, fhandle, &hdr);
+       encode_putfh(&xdr, args->fhandle, &hdr);
        encode_getattr_one(&xdr, FATTR4_WORD0_SUPPORTED_ATTRS|
                           FATTR4_WORD0_LINK_SUPPORT|
                           FATTR4_WORD0_SYMLINK_SUPPORT|
index 8f8c026c558e52af75e89a174680c428c40ed90d..a7b7f2a059cc4864dc3dea4394ecdfe7dc9e0523 100644 (file)
@@ -791,6 +791,11 @@ struct nfs4_statfs_arg {
        struct nfs4_sequence_args       seq_args;
 };
 
+struct nfs4_server_caps_arg {
+       struct nfs_fh                  *fhandle;
+       struct nfs4_sequence_args       seq_args;
+};
+
 struct nfs4_server_caps_res {
        u32                             attr_bitmask[2];
        u32                             acl_bitmask;