Provided by: freebsd-manpages_9.2+1-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.