mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
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:
parent
57cd822887
commit
63d59b8dcf
@ -1298,6 +1298,17 @@ int fsync_directory_of_file(int fd) {
|
|||||||
return 0;
|
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) {
|
int fsync_path_at(int at_fd, const char *path) {
|
||||||
_cleanup_close_ int opened_fd = -1;
|
_cleanup_close_ int opened_fd = -1;
|
||||||
int fd;
|
int fd;
|
||||||
|
@ -114,6 +114,7 @@ void unlink_tempfilep(char (*p)[]);
|
|||||||
int unlinkat_deallocate(int fd, const char *name, int flags);
|
int unlinkat_deallocate(int fd, const char *name, int flags);
|
||||||
|
|
||||||
int fsync_directory_of_file(int fd);
|
int fsync_directory_of_file(int fd);
|
||||||
|
int fsync_full(int fd);
|
||||||
int fsync_path_at(int at_fd, const char *path);
|
int fsync_path_at(int at_fd, const char *path);
|
||||||
|
|
||||||
int syncfs_path(int atfd, const char *path);
|
int syncfs_path(int atfd, const char *path);
|
||||||
|
Loading…
Reference in New Issue
Block a user