On Thu, Feb 18, 2010 at 5:28 AM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > If I'm reading the patch correctly, when wal_sync_method is 'open_sync', > walreceiver nevertheless opens the WAL file without the O_DIRECT flag. > When it later flushes it in XLogWalRcvFlush() by issue_xlog_fsync(), > issue_xlog_fsync() will do nothing because it assumes the write() synced > it already. So the data written isn't being forced to disk at all.
When 'open_sync' is chosen, the WAL file is opened with O_SYNC or O_FSYNC flag. So I think that write() flushes the data to disk even if O_DIRECT flag is not given. Am I missing something? > How about just forcing sync_method to 'fsync' in walreceiver? In win32, O_DSYNC seems to be preferred to 'fsync' so far. So I'm not sure if reshuffling of priority is harmless. http://archives.postgresql.org/pgsql-hackers-win32/2005-03/msg00148.php Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers