diff options
-rw-r--r-- | fs/nfs/nfs4proc.c | 5 | ||||
-rw-r--r-- | fs/nfs/nfs4xdr.c | 5 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 5 |
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 | ||
1585 | static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) | 1585 | static 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 | */ |
1903 | static int nfs4_xdr_enc_server_caps(struct rpc_rqst *req, __be32 *p, const struct nfs_fh *fhandle) | 1903 | static 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 | ||
794 | struct nfs4_server_caps_arg { | ||
795 | struct nfs_fh *fhandle; | ||
796 | struct nfs4_sequence_args seq_args; | ||
797 | }; | ||
798 | |||
794 | struct nfs4_server_caps_res { | 799 | struct nfs4_server_caps_res { |
795 | u32 attr_bitmask[2]; | 800 | u32 attr_bitmask[2]; |
796 | u32 acl_bitmask; | 801 | u32 acl_bitmask; |