From 82f023d7e3cca126d264ebb81b19feaf8731ad9a Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 27 Sep 2021 10:30:00 -0700 Subject: Add --fsync option (promoted from patches). --- receiver.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'receiver.c') diff --git a/receiver.c b/receiver.c index b5020d07..091fcd6f 100644 --- a/receiver.c +++ b/receiver.c @@ -41,6 +41,7 @@ extern int preserve_hard_links; extern int preserve_perms; extern int write_devices; extern int preserve_xattrs; +extern int do_fsync; extern int basis_dir_cnt; extern int make_backups; extern int cleanup_got_literal; @@ -394,6 +395,11 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, sum_len = sum_end(file_sum1); + if (do_fsync && fd != -1 && fsync(fd) != 0) { + rsyserr(FERROR, errno, "fsync failed on %s", full_fname(fname)); + exit_cleanup(RERR_FILEIO); + } + if (mapbuf) unmap_file(mapbuf); -- cgit v1.2.1