SYNC_VOLUME_NP(3) Library Functions Manual SYNC_VOLUME_NP(3)

sync_volume_npSync a mounted filesystem

Standard C Library (libc, -lc)

#include <unistd.h>

int
sync_volume_np(const char *path, int flags);

int
fsync_volume_np(int fd, int flags);

The () function causes data and metadata on the filesystem containing path to be synced to disk; this may be any file or directory on that filesystem. The () does the same thing, but using an open file descriptor for that filesystem. Both functions take a flags parameter, with the currently-defined options:

SYNC_VOLUME_FULLSYNC
Request that the data and metadata be written to the disk hardware; if not set, then the hardware may keep it in cache.
SYNC_VOLUME_WAIT
Wait for the data and metadata to be written; if not set, then it will return when the requests have been made.

Both functions return 0 on success, and a non-zero error code on error.

The fsync_volume_np() function may return EBADF if the fd parameter is not a valid, open file descriptor. The sync_volume_np() function may return errors if:

[]
Search permission is denied for a component of the path prefix.
[]
An I/O error occurs while reading from or writing to the file system.
[]
Too many symbolic links are encountered in translating the pathname. This is taken to be indicative of a looping symbolic link.
[]
A component of a pathname exceeds {NAME_MAX} characters, or an entire path name exceeds {PATH_MAX} characters.
[]
The named file does not exist.
[]
A component of the path prefix is not a directory.
October macOS 15.2