These entry points read or write the contents of a file.
The arguments are:
| vp
|
| |
The vnode of the file.
|
| uio
|
| |
The location of the data to be read or written.
|
| ioflag
|
| |
Various flags.
|
| cnp
|
| |
The credentials of the caller.
|
The
ioflag
argument is used to give directives and hints to the file system.
When attempting a read, the high 16 bits are used to provide a
read-ahead hint (in units of file system blocks) that the file system
should attempt.
The low 16 bits are a bit mask which can contain
the following flags:
| IO_UNIT
|
Do I/O as atomic unit.
|
| IO_APPEND
|
Append write to end.
|
| IO_SYNC
|
Do I/O synchronously.
|
| IO_NODELOCKED
|
| |
Underlying node already locked.
|
| IO_NDELAY
|
FNDELAY
flag set in file table.
|
| IO_VMIO
|
Data already in VMIO space.
|