diff options
-rw-r--r-- | doc/src/sgml/wal.sgml | 5 | ||||
-rw-r--r-- | src/backend/storage/file/fd.c | 6 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/pg_test_fsync.c | 4 | ||||
-rw-r--r-- | src/include/port/win32_port.h | 8 |
4 files changed, 5 insertions, 18 deletions
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml index ed7929cbcd7..4aad0e1a075 100644 --- a/doc/src/sgml/wal.sgml +++ b/doc/src/sgml/wal.sgml @@ -109,9 +109,8 @@ <literal>open_datasync</literal> (the default), write caching can be disabled by unchecking <literal>My Computer\Open\<replaceable>disk drive</replaceable>\Properties\Hardware\Properties\Policies\Enable write caching on the disk</literal>. Alternatively, set <varname>wal_sync_method</varname> to - <literal>fdatasync</literal> (NTFS only), <literal>fsync</literal> or - <literal>fsync_writethrough</literal>, which prevent - write caching. + <literal>fdatasync</literal> (NTFS only) or <literal>fsync</literal>, + which prevent write caching. </para> </listitem> diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 3c2a2fbef73..a027a8aabc2 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -399,7 +399,7 @@ pg_fsync(int fd) #endif /* #if is to skip the sync_method test if there's no need for it */ -#if defined(HAVE_FSYNC_WRITETHROUGH) && !defined(FSYNC_WRITETHROUGH_IS_FSYNC) +#if defined(HAVE_FSYNC_WRITETHROUGH) if (sync_method == SYNC_METHOD_FSYNC_WRITETHROUGH) return pg_fsync_writethrough(fd); else @@ -437,9 +437,7 @@ pg_fsync_writethrough(int fd) { if (enableFsync) { -#ifdef WIN32 - return _commit(fd); -#elif defined(F_FULLFSYNC) +#if defined(F_FULLFSYNC) return (fcntl(fd, F_FULLFSYNC, 0) == -1) ? -1 : 0; #else errno = ENOSYS; diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index 435df8d808d..14fa4acae26 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -605,9 +605,7 @@ signal_cleanup(SIGNAL_ARGS) static int pg_fsync_writethrough(int fd) { -#ifdef WIN32 - return _commit(fd); -#elif defined(F_FULLFSYNC) +#if defined(F_FULLFSYNC) return (fcntl(fd, F_FULLFSYNC, 0) == -1) ? -1 : 0; #else errno = ENOSYS; diff --git a/src/include/port/win32_port.h b/src/include/port/win32_port.h index 0e6d6083308..27a11c7868e 100644 --- a/src/include/port/win32_port.h +++ b/src/include/port/win32_port.h @@ -84,14 +84,6 @@ /* Windows doesn't have fsync() as such, use _commit() */ #define fsync(fd) _commit(fd) -/* - * For historical reasons, we allow setting wal_sync_method to - * fsync_writethrough on Windows, even though it's really identical to fsync - * (both code paths wind up at _commit()). - */ -#define HAVE_FSYNC_WRITETHROUGH -#define FSYNC_WRITETHROUGH_IS_FSYNC - #define USES_WINSOCK /* |