Commit 48a9e2d2 authored by Benny Halevy's avatar Benny Halevy

nfs41: decode minorversion 1 cb_compound header

decode cb_compound header conforming to
http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26

Get rid of cb_compound_hdr_arg.callback_ident

callback_ident is not used anywhere so we shouldn't waste any memory to
store it.
Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
[nfs41: no need to break read_buf in decode_compound_hdr_arg]
See http://linux-nfs.org/pipermail/pnfs/2009-June/007844.htmlSigned-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
parent b8f2ef84
...@@ -27,7 +27,6 @@ struct cb_compound_hdr_arg { ...@@ -27,7 +27,6 @@ struct cb_compound_hdr_arg {
unsigned int taglen; unsigned int taglen;
const char *tag; const char *tag;
unsigned int minorversion; unsigned int minorversion;
unsigned int callback_ident;
unsigned nops; unsigned nops;
}; };
......
...@@ -147,14 +147,15 @@ static __be32 decode_compound_hdr_arg(struct xdr_stream *xdr, struct cb_compound ...@@ -147,14 +147,15 @@ static __be32 decode_compound_hdr_arg(struct xdr_stream *xdr, struct cb_compound
if (unlikely(p == NULL)) if (unlikely(p == NULL))
return htonl(NFS4ERR_RESOURCE); return htonl(NFS4ERR_RESOURCE);
hdr->minorversion = ntohl(*p++); hdr->minorversion = ntohl(*p++);
/* Check minor version is zero. */ /* Check minor version is zero or one. */
if (hdr->minorversion != 0) { if (hdr->minorversion <= 1) {
p++; /* skip callback_ident */
} else {
printk(KERN_WARNING "%s: NFSv4 server callback with " printk(KERN_WARNING "%s: NFSv4 server callback with "
"illegal minor version %u!\n", "illegal minor version %u!\n",
__func__, hdr->minorversion); __func__, hdr->minorversion);
return htonl(NFS4ERR_MINOR_VERS_MISMATCH); return htonl(NFS4ERR_MINOR_VERS_MISMATCH);
} }
hdr->callback_ident = ntohl(*p++);
hdr->nops = ntohl(*p); hdr->nops = ntohl(*p);
dprintk("%s: minorversion %d nops %d\n", __func__, dprintk("%s: minorversion %d nops %d\n", __func__,
hdr->minorversion, hdr->nops); hdr->minorversion, hdr->nops);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment