nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify
_nfsd4_verify currently skips 3 words from the encoded buffer begining. With support for 3-word attr bitmaps in nfsd41, nfsd4_encode_fattr may encode 1, 2, or 3 words, and not always 2 as it used to be, hence we need to find out where to skip using the encoded bitmap length. Note: This patch may be applied over pre-nfsd41 nfsd. Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
Родитель
c0d6fc8a2d
Коммит
95ec28cda3
|
@ -775,7 +775,8 @@ _nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
|||
if (status)
|
||||
goto out_kfree;
|
||||
|
||||
p = buf + 3;
|
||||
/* skip bitmap */
|
||||
p = buf + 1 + ntohl(buf[0]);
|
||||
status = nfserr_not_same;
|
||||
if (ntohl(*p++) != verify->ve_attrlen)
|
||||
goto out_kfree;
|
||||
|
|
Загрузка…
Ссылка в новой задаче