NFSv4.2: Fix warning "variable ‘stateids’ set but not used"

Replace it with a test for whether or not the sent a stateid in violation
of what we asked for.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Trond Myklebust 2016-07-24 17:17:16 -04:00
parent 139978239b
commit 6fdf339b0c
1 changed files with 10 additions and 2 deletions

View File

@ -330,13 +330,21 @@ static int decode_write_response(struct xdr_stream *xdr,
struct nfs42_write_res *res) struct nfs42_write_res *res)
{ {
__be32 *p; __be32 *p;
int stateids;
p = xdr_inline_decode(xdr, 4 + 8 + 4); p = xdr_inline_decode(xdr, 4 + 8 + 4);
if (unlikely(!p)) if (unlikely(!p))
goto out_overflow; goto out_overflow;
stateids = be32_to_cpup(p++); /*
* We never use asynchronous mode, so warn if a server returns
* a stateid.
*/
if (unlikely(*p != 0)) {
pr_err_once("%s: server has set unrequested "
"asynchronous mode\n", __func__);
return -EREMOTEIO;
}
p++;
p = xdr_decode_hyper(p, &res->count); p = xdr_decode_hyper(p, &res->count);
res->verifier.committed = be32_to_cpup(p); res->verifier.committed = be32_to_cpup(p);
return decode_verifier(xdr, &res->verifier.verifier); return decode_verifier(xdr, &res->verifier.verifier);