summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2004-07-10 01:10:17 +0000
committerimp <imp@FreeBSD.org>2004-07-10 01:10:17 +0000
commit10c37ef567a96811a59fb7740997f36fbb45a143 (patch)
tree8ba15e159ee486788275fab0dad253e2bf86eb3f /share
parent8526267db84218fbc82e517c5ae4cc9e986b11b8 (diff)
downloadFreeBSD-src-10c37ef567a96811a59fb7740997f36fbb45a143.zip
FreeBSD-src-10c37ef567a96811a59fb7740997f36fbb45a143.tar.gz
Modernize description of physio. Make explicit that this creates a
request that's passed to the driver's strategy.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/physio.924
1 files changed, 19 insertions, 5 deletions
diff --git a/share/man/man9/physio.9 b/share/man/man9/physio.9
index d519d63..1906d8e 100644
--- a/share/man/man9/physio.9
+++ b/share/man/man9/physio.9
@@ -36,7 +36,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 15, 1996
+.Dd July 8, 2004
.Dt PHYSIO 9
.Os
.Sh NAME
@@ -60,15 +60,22 @@ routines to start I/O on a user process buffer.
The maximum amount of data to transfer with each call
is determined by
.Fa dev->si_iosize_max .
+The
+.Fn physio
+call converts the I/O request into a
+.Fn strategy
+request and passes the new request to the driver's
+.Fn strategy
+routine for processing.
.Pp
Since
.Fa uio
normally describes user space addresses,
.Fn physio
-needs to lock the process into memory.
-This is done by setting the
-.Dv P_PHYSIO
-flag on the process.
+needs to lock the those pages into memory.
+This is done by calling
+.Fn vmapbuf
+for the appropriate pages.
.Fn physio
always awaits the completion of the entire requested transfer before
returning, unless an error condition is detected earlier.
@@ -86,6 +93,13 @@ structure with the
set to anything other than
.Dv UIO_USERSPACE
are undefined.
+.It Fa ioflag
+The ioflag argument from the
+.Fn read
+or
+.Fn write
+function calling
+.Fn physio .
.El
.Sh RETURN VALUES
If successful
OpenPOWER on IntegriCloud