Modernize description of physio. Make explicit that this creates a
request that's passed to the driver's strategy.
This commit is contained in:
parent
64e6e863ac
commit
cd4d01d8a0
@ -36,7 +36,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd June 15, 1996
|
.Dd July 8, 2004
|
||||||
.Dt PHYSIO 9
|
.Dt PHYSIO 9
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.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
|
The maximum amount of data to transfer with each call
|
||||||
is determined by
|
is determined by
|
||||||
.Fa dev->si_iosize_max .
|
.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
|
.Pp
|
||||||
Since
|
Since
|
||||||
.Fa uio
|
.Fa uio
|
||||||
normally describes user space addresses,
|
normally describes user space addresses,
|
||||||
.Fn physio
|
.Fn physio
|
||||||
needs to lock the process into memory.
|
needs to lock the those pages into memory.
|
||||||
This is done by setting the
|
This is done by calling
|
||||||
.Dv P_PHYSIO
|
.Fn vmapbuf
|
||||||
flag on the process.
|
for the appropriate pages.
|
||||||
.Fn physio
|
.Fn physio
|
||||||
always awaits the completion of the entire requested transfer before
|
always awaits the completion of the entire requested transfer before
|
||||||
returning, unless an error condition is detected earlier.
|
returning, unless an error condition is detected earlier.
|
||||||
@ -86,6 +93,13 @@ structure with the
|
|||||||
set to anything other than
|
set to anything other than
|
||||||
.Dv UIO_USERSPACE
|
.Dv UIO_USERSPACE
|
||||||
are undefined.
|
are undefined.
|
||||||
|
.It Fa ioflag
|
||||||
|
The ioflag argument from the
|
||||||
|
.Fn read
|
||||||
|
or
|
||||||
|
.Fn write
|
||||||
|
function calling
|
||||||
|
.Fn physio .
|
||||||
.El
|
.El
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
If successful
|
If successful
|
||||||
|
Loading…
Reference in New Issue
Block a user