The
vn_deallocate()
function zeros and/or deallocates backing storage space from a file.
This function only works on vnodes with
VREG
type.
The arguments are:
| vp
|
| |
The vnode of the file.
|
| offset
|
| |
The starting offset of the operation range.
|
| length
|
| |
The length of the operation range.
This must be greater than 0.
|
| flags
|
| |
The control flags of the operation.
This should be set to 0 for now.
|
| ioflag
|
| |
Directives and hints to be given to the file system.
|
| active_cred
|
| |
The user credentials of the calling thread.
|
| file_cred
|
| |
The credentials installed on the file description pointing to the vnode or NOCRED.
|
The
ioflag()
argument gives directives and hints to the file system.
It may include one or more of the following flags:
| IO_NODELOCKED
|
The vnode was locked before the call.
|
| IO_RANGELOCKED
|
| |
Rangelock was owned around the call.
|
| IO_NOMACCHECK
|
Skip MAC checking in the call.
|
| IO_SYNC
|
Do I/O synchronously.
|
| IO_DIRECT
|
Attempt to bypass buffer cache.
|
*offset
and
*length
are updated to reflect the unprocessed operation range of the call.
For a successful completion,
*length
is updated to be the value 0, and
*offset
is incremented by the number of bytes zeroed before the end-of-file.