From cded2fc0258340b6586c92fa73d80bde268cf40f Mon Sep 17 00:00:00 2001 From: drh <> Date: Fri, 21 Apr 2023 13:53:13 -0500 Subject: [PATCH] Make use of F_BARRIERFSYNC as an alternative to F_FULLFSYNC when it is available. FossilOrigin-Name: 3c517ba5dc386c7782c90536ce67562d7d6d2f155203a09b57b1f8f655c1b958 --- src/os_unix.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/os_unix.c b/src/os_unix.c index e065d717..683e6c69 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3674,7 +3674,14 @@ static int full_fsync(int fd, int fullSync, int dataOnly){ } #elif HAVE_FULLFSYNC if( fullSync ){ +#ifdef F_BARRIERFSYNC rc = osFcntl(fd, F_BARRIERFSYNC, 0); + if( rc && errno==ENOTSUP ){ + rc = osFcntl(fd, F_FULLFSYNC, 0); + } +#else + rc = osFcntl(fd, F_FULLFSYNC, 0); +#endif }else{ rc = 1; }