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 b0ec8ff96eb7..b715f6057611 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -2426,10 +2426,13 @@ static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, | |||
2426 | .fh = fhandle, | 2426 | .fh = fhandle, |
2427 | .bitmask = server->attr_bitmask, | 2427 | .bitmask = server->attr_bitmask, |
2428 | }; | 2428 | }; |
2429 | struct nfs4_statfs_res res = { | ||
2430 | .fsstat = fsstat, | ||
2431 | }; | ||
2429 | struct rpc_message msg = { | 2432 | struct rpc_message msg = { |
2430 | .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_STATFS], | 2433 | .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_STATFS], |
2431 | .rpc_argp = &args, | 2434 | .rpc_argp = &args, |
2432 | .rpc_resp = fsstat, | 2435 | .rpc_resp = &res, |
2433 | }; | 2436 | }; |
2434 | 2437 | ||
2435 | nfs_fattr_init(fsstat->fattr); | 2438 | nfs_fattr_init(fsstat->fattr); |
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index 1e41420916ad..b7871ad82aac 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c | |||
@@ -4387,7 +4387,8 @@ static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, __be32 *p, struct nfs_pat | |||
4387 | /* | 4387 | /* |
4388 | * STATFS request | 4388 | * STATFS request |
4389 | */ | 4389 | */ |
4390 | static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, __be32 *p, struct nfs_fsstat *fsstat) | 4390 | static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, __be32 *p, |
4391 | struct nfs4_statfs_res *res) | ||
4391 | { | 4392 | { |
4392 | struct xdr_stream xdr; | 4393 | struct xdr_stream xdr; |
4393 | struct compound_hdr hdr; | 4394 | struct compound_hdr hdr; |
@@ -4398,7 +4399,7 @@ static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, __be32 *p, struct nfs_fssta | |||
4398 | if (!status) | 4399 | if (!status) |
4399 | status = decode_putfh(&xdr); | 4400 | status = decode_putfh(&xdr); |
4400 | if (!status) | 4401 | if (!status) |
4401 | status = decode_statfs(&xdr, fsstat); | 4402 | status = decode_statfs(&xdr, res->fsstat); |
4402 | return status; | 4403 | return status; |
4403 | } | 4404 | } |
4404 | 4405 | ||
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index f71260aeb803..4dac59ef6f4f 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -795,6 +795,11 @@ struct nfs4_statfs_arg { | |||
795 | struct nfs4_sequence_args seq_args; | 795 | struct nfs4_sequence_args seq_args; |
796 | }; | 796 | }; |
797 | 797 | ||
798 | struct nfs4_statfs_res { | ||
799 | struct nfs_fsstat *fsstat; | ||
800 | struct nfs4_sequence_res seq_res; | ||
801 | }; | ||
802 | |||
798 | struct nfs4_server_caps_arg { | 803 | struct nfs4_server_caps_arg { |
799 | struct nfs_fh *fhandle; | 804 | struct nfs_fh *fhandle; |
800 | struct nfs4_sequence_args seq_args; | 805 | struct nfs4_sequence_args seq_args; |