Modify the NFSv4.1/pNFS client to ask for a maximum length of layout.
The code specified the length of a layout as INT64_MAX instead of UINT64_MAX. This could result in getting a layout for less than the full file for extremely large files. Although having little practical effect, this patch corrects this in the code. Detected during recent testing of the pNFS server. MFC after: 2 weeks
This commit is contained in:
parent
babf030fd6
commit
845eb84c56
@ -5238,7 +5238,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, vnode_t vp, struct nfsfh *nfhp,
|
||||
stateid.other[1] = stateidp->other[1];
|
||||
stateid.other[2] = stateidp->other[2];
|
||||
error = nfsrpc_layoutget(nmp, nfhp->nfh_fh,
|
||||
nfhp->nfh_len, iomode, (uint64_t)0, INT64_MAX,
|
||||
nfhp->nfh_len, iomode, (uint64_t)0, UINT64_MAX,
|
||||
(uint64_t)0, layoutlen, &stateid, &retonclose,
|
||||
&flh, cred, p, NULL);
|
||||
} else {
|
||||
@ -5248,7 +5248,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, vnode_t vp, struct nfsfh *nfhp,
|
||||
stateid.other[1] = lyp->nfsly_stateid.other[1];
|
||||
stateid.other[2] = lyp->nfsly_stateid.other[2];
|
||||
error = nfsrpc_layoutget(nmp, nfhp->nfh_fh,
|
||||
nfhp->nfh_len, iomode, off, INT64_MAX,
|
||||
nfhp->nfh_len, iomode, off, UINT64_MAX,
|
||||
(uint64_t)0, layoutlen, &stateid, &retonclose,
|
||||
&flh, cred, p, NULL);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user