NAME
VOP_FDATASYNC, VOP_FSYNC — flush file system buffers for a fileSYNOPSIS
#include <sys/param.h>#include <sys/vnode.h> int
VOP_FDATASYNC(struct vnode *vp, struct thread *td); int
VOP_FSYNC(struct vnode *vp, int waitfor, struct thread *td);
DESCRIPTION
VOP_FSYNC() ensures that a file can be recovered to its current state following a crash. That typically requires flushing the file's dirty buffers, its inode, and possibly other filesystem metadata to persistent media. VOP_FSYNC() 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.
MNT_WAIT
.
VOP_FDATASYNC() is used to implement
fdatasync(2).
LOCKS
The vnode should be exclusively locked on entry, and stays locked on return.RETURN VALUES
Zero is returned if the call is successful, otherwise an appropriate error code is returned.ERRORS
SEE ALSO
vnode(9)AUTHORS
This manual page was written by Doug Rabson.March 22, 2019 | Debian |