Print this page
5382 pvn_getpages handles lengths <= PAGESIZE just fine
*** 19,28 ****
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
*** 1789,1804 ****
*protp = PROT_ALL;
if (((u_offset_t)off + len) > (SPEC_SIZE(sp) + PAGEOFFSET))
return (EFAULT); /* beyond EOF */
! if (len <= PAGESIZE)
! err = spec_getapage(vp, (u_offset_t)off, len, protp, pl,
! plsz, seg, addr, rw, cr);
! else
! err = pvn_getpages(spec_getapage, vp, (u_offset_t)off,
! len, protp, pl, plsz, seg, addr, rw, cr);
break;
case VCHR:
cmn_err(CE_NOTE, "spec_getpage called for character device. "
"Check any non-ON consolidation drivers");
--- 1790,1801 ----
*protp = PROT_ALL;
if (((u_offset_t)off + len) > (SPEC_SIZE(sp) + PAGEOFFSET))
return (EFAULT); /* beyond EOF */
! err = pvn_getpages(spec_getapage, vp, (u_offset_t)off, len,
! protp, pl, plsz, seg, addr, rw, cr);
break;
case VCHR:
cmn_err(CE_NOTE, "spec_getpage called for character device. "
"Check any non-ON consolidation drivers");