GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
VOP_FSYNC(9) FreeBSD Kernel Developer's Manual VOP_FSYNC(9)

VOP_FDATASYNC, VOP_FSYNC
flush file system buffers for a file

#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);

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:
Synchronously wait for I/O to complete.
Start all I/O, but do not wait for it.
Push data not written by file system syncer.
td
The calling thread.

VOP_FDATASYNC() is similar, but it does not require that all of the file's metadata be flushed. It only requires that the file's data be recoverable after a crash. That implies that the data itself must be flushed to disk, as well as some metadata such as the file's size but not necessarily its attributes. VOP_FDATASYNC() should always wait for I/O to complete, as if called with MNT_WAIT. VOP_FDATASYNC() is used to implement fdatasync(2).

The vnode should be exclusively locked on entry, and stays locked on return.

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

[]
The file system is full.
[]
Quota exceeded.

vnode(9)

This manual page was written by Doug Rabson.
March 22, 2019 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 9 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.