fs-util: add fsync_full() helper

We usually combine an fsync() with fsync_directory_of_file() hence let's
add a helper that does both in one.
This commit is contained in:
Lennart Poettering 2019-07-22 13:48:12 +02:00
parent 57cd822887
commit 63d59b8dcf
2 changed files with 12 additions and 0 deletions

View File

@ -1298,6 +1298,17 @@ int fsync_directory_of_file(int fd) {
return 0;
}
int fsync_full(int fd) {
int r, q;
/* Sync both the file and the directory */
r = fsync(fd) < 0 ? -errno : 0;
q = fsync_directory_of_file(fd);
return r < 0 ? r : q;
}
int fsync_path_at(int at_fd, const char *path) {
_cleanup_close_ int opened_fd = -1;
int fd;

View File

@ -114,6 +114,7 @@ void unlink_tempfilep(char (*p)[]);
int unlinkat_deallocate(int fd, const char *name, int flags);
int fsync_directory_of_file(int fd);
int fsync_full(int fd);
int fsync_path_at(int at_fd, const char *path);
int syncfs_path(int atfd, const char *path);