Print this page
5382 pvn_getpages handles lengths <= PAGESIZE just fine

@@ -21,11 +21,11 @@
 /*
  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 /*
- * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  */
 
 /*
  *      Copyright 1983,1984,1985,1986,1987,1988,1989 AT&T.
  *      All Rights Reserved

@@ -9785,23 +9785,15 @@
                 return (EFAULT);                /* beyond EOF */
         }
 
         mutex_exit(&rp->r_statelock);
 
-        if (len <= PAGESIZE) {
-                error = nfs4_getapage(vp, off, len, protp, pl, plsz,
-                    seg, addr, rw, cr);
-                NFS4_DEBUG(nfs4_pageio_debug && error,
-                    (CE_NOTE, "getpage error %d; off=%lld, "
-                    "len=%lld", error, off, (u_longlong_t)len));
-        } else {
                 error = pvn_getpages(nfs4_getapage, vp, off, len, protp,
                     pl, plsz, seg, addr, rw, cr);
                 NFS4_DEBUG(nfs4_pageio_debug && error,
-                    (CE_NOTE, "getpages error %d; off=%lld, "
-                    "len=%lld", error, off, (u_longlong_t)len));
-        }
+            (CE_NOTE, "getpages error %d; off=%lld, len=%lld",
+            error, off, (u_longlong_t)len));
 
         switch (error) {
         case NFS_EOF:
                 nfs4_purge_caches(vp, NFS4_NOPURGE_DNLC, cr, FALSE);
                 goto retry;

@@ -9811,11 +9803,11 @@
 
         return (error);
 }
 
 /*
- * Called from pvn_getpages or nfs4_getpage to get a particular page.
+ * Called from pvn_getpages to get a particular page.
  */
 /* ARGSUSED */
 static int
 nfs4_getapage(vnode_t *vp, u_offset_t off, size_t len, uint_t *protp,
     page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,