Provided by: freebsd-manpages_8.2-1_all bug

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.