VWAITFORIO(9) | Kernel Developer's Manual | VWAITFORIO(9)

# NAME

`vwaitforio` — wait for all outstanding asynchronous writes

# SYNOPSIS

`#include <sys/types.h>`
`#include <sys/vnode.h>`

int
`vwaitforio`(struct vnode *vp, int slpflag, char *wmesg, uint64_t slptimeo);

# DESCRIPTION

The `vwaitforio`() call sleeps until all asynchronous writes associated with the vnode vp finish. This is used by functions that need to make sure that the writes they initiated have completed.

The `vwaitforio`() call sleeps at priority `PRIBIO` + 1. The slpflag, wmesg, and slptimeo arguments indicate flags to be passed to tsleep_nsec(9).

This function must be called at splbio(9).

It may be important to ensure that no other process submits asynchronous writes while a process is waiting for I/O on this vnode. Otherwise, `vwaitforio`() may never return.

# RETURN VALUES

The `vwaitforio`() function returns 0 on success. See tsleep(9) for possible error returns.

# SEE ALSO

tsleep(9), vnode(9)

July 19, 2019 | Debian