summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2010-09-15 10:44:20 +0000
committeravg <avg@FreeBSD.org>2010-09-15 10:44:20 +0000
commit204e0a0decf0ba67518f045fac9a26db0bfb63e6 (patch)
tree25441f89da2d61cadf3bc32e619f20d4e0d37af0 /sys/cddl
parent9d9488f5990dda4562c15deb0e6de349dc3a0ddf (diff)
downloadFreeBSD-src-204e0a0decf0ba67518f045fac9a26db0bfb63e6.zip
FreeBSD-src-204e0a0decf0ba67518f045fac9a26db0bfb63e6.tar.gz
zfs mappedread: use uiomove_fromphys where possible
Reviewed by: alc Approved by: pjd Tested by: tools/regression/fsx MFC after: 2 weeks
Diffstat (limited to 'sys/cddl')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 9956516..7f3b0a8 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -479,14 +479,8 @@ again:
dirbytes);
dirbytes = 0;
}
- if (error == 0) {
- sched_pin();
- sf = sf_buf_alloc(m, SFB_CPUPRIVATE);
- va = (caddr_t)sf_buf_kva(sf);
- error = uiomove(va + off, bytes, UIO_READ, uio);
- sf_buf_free(sf);
- sched_unpin();
- }
+ if (error == 0)
+ uiomove_fromphys(&m, off, bytes, uio);
VM_OBJECT_LOCK(obj);
vm_page_wakeup(m);
} else if (m != NULL && uio->uio_segflg == UIO_NOCOPY) {
OpenPOWER on IntegriCloud