routine file_syncfs ( file: file_t; RPT wait: int; do_children: int);
Synchronize the entire filesystem.
This function has a companion in
fsys syncfs, which is
invoked on the server's control port instead of an arbitrary node. Both of
them are usually implemented in equivalent ways.
Servers that either don't keep any unsynchronized state (or don't have a
backing store at all) can simply
return 0. Examples: nfs.
The implementation typically doesn't care on which specific node (as exported
by the implementing server)
file syncfs is being invoked on.
file sync on the underlying node. Rationale: the
underlying node represents this filesystem's backend, and once this node is
synchronized, the whole libtrivfs-based filesystem is to be considered
Instead of the to underlying node, pass the call through to the backend (device).
fsys syncfs on all active children, and invoke
file_syncfs ("/", false, true)-- invoke it on the process' root directory (
INIT_PORT_CRDIR), don't wait for completion, do synchronize child filesystems.