VOP_FSYNC(9)

NAME
VOP_FSYNC - flush file system buffers for a file

SYNOPSIS
#include <sys/param.h>
#include <sys/vnode.h>
int
VOP_FSYNC(struct vnode *vp, int waitfor, struct thread *td);

DESCRIPTION
This call flushes any dirty file system buffers for the file. It is used to implement the sync(2) and fsync(2) system calls.

Its arguments are:

vp  The vnode of the file.

waitfor
    Whether the function should wait for I/O to complete. Possible values are:

    MNT_WAIT
        Synchronously wait for I/O to complete.

    MNT_NOWAIT
        Start all I/O, but do not wait for it.

    MNT_LAZY
        Push data not written by file system syncer.

td  The calling thread.

The argument waitfor is either MNT_WAIT or MNT_NOWAIT and specifies whether or not the function should wait for the writes to finish before returning.

LOCKS
The file should be locked on entry.

RETURN VALUES
Zero is returned if the call is successful, otherwise an appropriate error code is returned.

ERRORS

[ENOSPC]
    The file system is full.

[EDQUOT]
    Quota exceeded.

SEE ALSO
vnode(9)

AUTHORS
This manual page was written by Doug Rabson.