aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenny Halevy <bhalevy@panasas.com>2009-04-01 09:21:54 -0400
committerBenny Halevy <bhalevy@panasas.com>2009-06-17 13:46:20 -0400
commit43652ad55342d9146d8035932101a5814b22315a (patch)
tree1bcc69ee2ee1ec04c5ce1c23ecfd5947ea9e4da2
parent557134a39c8d2ab79d8b8d53438e03e29feb5ec4 (diff)
nfs41: use nfs4_server_caps_arg
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>
-rw-r--r--fs/nfs/nfs4proc.c5
-rw-r--r--fs/nfs/nfs4xdr.c5
-rw-r--r--include/linux/nfs_xdr.h5
3 files changed, 12 insertions, 3 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index cdd8e74c47d0..5ef1022b7e6f 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -1584,10 +1584,13 @@ void nfs4_close_context(struct nfs_open_context *ctx, int is_sync)
1584 1584
1585static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) 1585static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle)
1586{ 1586{
1587 struct nfs4_server_caps_arg args = {
1588 .fhandle = fhandle,
1589 };
1587 struct nfs4_server_caps_res res = {}; 1590 struct nfs4_server_caps_res res = {};
1588 struct rpc_message msg = { 1591 struct rpc_message msg = {
1589 .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_SERVER_CAPS], 1592 .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_SERVER_CAPS],
1590 .rpc_argp = fhandle, 1593 .rpc_argp = &args,
1591 .rpc_resp = &res, 1594 .rpc_resp = &res,
1592 }; 1595 };
1593 int status; 1596 int status;
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 1690f0e44b91..91305861037a 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -1900,7 +1900,8 @@ static int nfs4_xdr_enc_statfs(struct rpc_rqst *req, __be32 *p, const struct nfs
1900/* 1900/*
1901 * GETATTR_BITMAP request 1901 * GETATTR_BITMAP request
1902 */ 1902 */
1903static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struct nfs_fh *fhandle) 1903static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p,
1904 struct nfs4_server_caps_arg *args)
1904{ 1905{
1905 struct xdr_stream xdr; 1906 struct xdr_stream xdr;
1906 struct compound_hdr hdr = { 1907 struct compound_hdr hdr = {
@@ -1909,7 +1910,7 @@ static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struc
1909 1910
1910 xdr_init_encode(&xdr, &req->rq_snd_buf, p); 1911 xdr_init_encode(&xdr, &req->rq_snd_buf, p);
1911 encode_compound_hdr(&xdr, &hdr); 1912 encode_compound_hdr(&xdr, &hdr);
1912 encode_putfh(&xdr, fhandle, &hdr); 1913 encode_putfh(&xdr, args->fhandle, &hdr);
1913 encode_getattr_one(&xdr, FATTR4_WORD0_SUPPORTED_ATTRS| 1914 encode_getattr_one(&xdr, FATTR4_WORD0_SUPPORTED_ATTRS|
1914 FATTR4_WORD0_LINK_SUPPORT| 1915 FATTR4_WORD0_LINK_SUPPORT|
1915 FATTR4_WORD0_SYMLINK_SUPPORT| 1916 FATTR4_WORD0_SYMLINK_SUPPORT|
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 8f8c026c558e..a7b7f2a059cc 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -791,6 +791,11 @@ struct nfs4_statfs_arg {
791 struct nfs4_sequence_args seq_args; 791 struct nfs4_sequence_args seq_args;
792}; 792};
793 793
794struct nfs4_server_caps_arg {
795 struct nfs_fh *fhandle;
796 struct nfs4_sequence_args seq_args;
797};
798
794struct nfs4_server_caps_res { 799struct nfs4_server_caps_res {
795 u32 attr_bitmask[2]; 800 u32 attr_bitmask[2];
796 u32 acl_bitmask; 801 u32 acl_bitmask;