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.
|