NAME
sync_volume_np – Sync a mounted filesystem
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
sync_volume_np(const char *path, int flags);
int
fsync_volume_np(int fd, int flags);
DESCRIPTION
The sync_volume_np() 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 fsync_volume_np() 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.
RETURN VALUES
Both functions return 0 on success, and a non-zero error code on error.
ERRORS
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:
- [EACCES]
-
Search permission is denied for a component of the path prefix.
- [EIO]
-
An I/O error occurs while reading from or writing to the file system.
- [ELOOP]
-
Too many symbolic links are encountered in translating the pathname. This is taken to be indicative of a looping symbolic link.
- [ENAMETOOLONG]
-
A component of a pathname exceeds {NAME_MAX} characters, or an entire path name exceeds {PATH_MAX} characters.
- [ENOENT]
-
The named file does not exist.
- [ENOTDIR]
-
A component of the path prefix is not a directory.