diff options
| author | chs <chs@NetBSD.org> | 2006-10-05 14:48:32 +0000 |
|---|---|---|
| committer | chs <chs@NetBSD.org> | 2006-10-05 14:48:32 +0000 |
| commit | 33c1fd191743a4e7fbd539a88f0189ebf26cee08 (patch) | |
| tree | b11013fa59236a47f2e0a811a550060a25610cf7 /sys/dev | |
| parent | 0b2c7040b537008833d960ed0fcf31cb0a8913e5 (diff) | |
add support for O_DIRECT (I/O directly to application memory,
bypassing any kernel caching for file data).
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ic/rrunner.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/ic/rrunner.c b/sys/dev/ic/rrunner.c index c0da5c15a26..d9cfe8916d5 100644 --- a/sys/dev/ic/rrunner.c +++ b/sys/dev/ic/rrunner.c @@ -1,4 +1,4 @@ -/* $NetBSD: rrunner.c,v 1.56 2006/09/07 02:40:32 dogcow Exp $ */ +/* $NetBSD: rrunner.c,v 1.57 2006/10/05 14:48:32 chs Exp $ */ /* * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rrunner.c,v 1.56 2006/09/07 02:40:32 dogcow Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rrunner.c,v 1.57 2006/10/05 14:48:32 chs Exp $"); #include "opt_inet.h" @@ -1043,13 +1043,13 @@ esh_fpread(dev, uio, ioflag) /* Lock down the pages */ for (i = 0; i < uio->uio_iovcnt; i++) { iovp = &uio->uio_iov[i]; - error = uvm_vslock(p, iovp->iov_base, iovp->iov_len, + error = uvm_vslock(p->p_vmspace, iovp->iov_base, iovp->iov_len, VM_PROT_WRITE); if (error) { /* Unlock what we've locked so far. */ for (--i; i >= 0; i--) { iovp = &uio->uio_iov[i]; - uvm_vsunlock(p, iovp->iov_base, + uvm_vsunlock(p->p_vmspace, iovp->iov_base, iovp->iov_len); } goto fpread_done; @@ -1139,7 +1139,7 @@ esh_fpread(dev, uio, ioflag) uio->uio_resid -= di->ed_read_len; for (i = 0; i < uio->uio_iovcnt; i++) { iovp = &uio->uio_iov[i]; - uvm_vsunlock(p, iovp->iov_base, iovp->iov_len); + uvm_vsunlock(p->p_vmspace, iovp->iov_base, iovp->iov_len); } PRELE(l); /* Release process info */ @@ -1204,13 +1204,13 @@ esh_fpwrite(dev, uio, ioflag) /* Lock down the pages */ for (i = 0; i < uio->uio_iovcnt; i++) { iovp = &uio->uio_iov[i]; - error = uvm_vslock(p, iovp->iov_base, iovp->iov_len, + error = uvm_vslock(p->p_vmspace, iovp->iov_base, iovp->iov_len, VM_PROT_READ); if (error) { /* Unlock what we've locked so far. */ for (--i; i >= 0; i--) { iovp = &uio->uio_iov[i]; - uvm_vsunlock(p, iovp->iov_base, + uvm_vsunlock(p->p_vmspace, iovp->iov_base, iovp->iov_len); } goto fpwrite_done; @@ -1296,7 +1296,7 @@ esh_fpwrite(dev, uio, ioflag) for (i = 0; i < uio->uio_iovcnt; i++) { iovp = &uio->uio_iov[i]; - uvm_vsunlock(p, iovp->iov_base, iovp->iov_len); + uvm_vsunlock(p->p_vmspace, iovp->iov_base, iovp->iov_len); } PRELE(l); /* Release process info */ |
