svn commit: r318261 - stable/10/sys/fs/nfsclient

Rick Macklem rmacklem at FreeBSD.org
Sun May 14 00:23:28 UTC 2017


Author: rmacklem
Date: Sun May 14 00:23:27 2017
New Revision: 318261
URL: https://svnweb.freebsd.org/changeset/base/318261

Log:
  MFC: r317576
  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.

Modified:
  stable/10/sys/fs/nfsclient/nfs_clrpcops.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/fs/nfsclient/nfs_clrpcops.c
==============================================================================
--- stable/10/sys/fs/nfsclient/nfs_clrpcops.c	Sun May 14 00:12:29 2017	(r318260)
+++ stable/10/sys/fs/nfsclient/nfs_clrpcops.c	Sun May 14 00:23:27 2017	(r318261)
@@ -5235,7 +5235,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, v
 			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 {
@@ -5245,7 +5245,7 @@ nfsrpc_getlayout(struct nfsmount *nmp, v
 			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);
 		}


More information about the svn-src-all mailing list