mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
Resurrect -F switch: it controls fsyncs again, though the fsyncs are
mostly just on the WAL logfile nowadays. But if people want to disable fsync for performance, why should we say no?
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.39 2000/12/03 10:27:26 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.40 2000/12/08 22:21:33 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -621,7 +621,7 @@ XLogFlush(XLogRecPtr record)
|
||||
logFile = XLogFileOpen(logId, logSeg, false);
|
||||
}
|
||||
|
||||
if (fsync(logFile) != 0)
|
||||
if (pg_fsync(logFile) != 0)
|
||||
elog(STOP, "fsync(logfile %u seg %u) failed: %m",
|
||||
logId, logSeg);
|
||||
LgwrResult.Flush = LgwrResult.Write;
|
||||
@ -717,7 +717,7 @@ XLogWrite(char *buffer)
|
||||
{
|
||||
if (wcnt > 0)
|
||||
{
|
||||
if (fsync(logFile) != 0)
|
||||
if (pg_fsync(logFile) != 0)
|
||||
elog(STOP, "fsync(logfile %u seg %u) failed: %m",
|
||||
logId, logSeg);
|
||||
if (LgwrResult.Write.xlogid != logId)
|
||||
@ -799,7 +799,7 @@ XLogWrite(char *buffer)
|
||||
if (XLByteLT(LgwrResult.Flush, LgwrRqst.Flush) &&
|
||||
XLByteLE(LgwrRqst.Flush, LgwrResult.Write))
|
||||
{
|
||||
if (fsync(logFile) != 0)
|
||||
if (pg_fsync(logFile) != 0)
|
||||
elog(STOP, "fsync(logfile %u seg %u) failed: %m",
|
||||
logId, logSeg);
|
||||
LgwrResult.Flush = LgwrResult.Write;
|
||||
@ -864,7 +864,7 @@ XLogFileInit(uint32 log, uint32 seg, bool *usexistent)
|
||||
elog(STOP, "write(logfile %u seg %u) failed: %m",
|
||||
logId, logSeg);
|
||||
|
||||
if (fsync(fd) != 0)
|
||||
if (pg_fsync(fd) != 0)
|
||||
elog(STOP, "fsync(logfile %u seg %u) failed: %m",
|
||||
logId, logSeg);
|
||||
|
||||
@ -1213,7 +1213,7 @@ next_record_is_invalid:;
|
||||
}
|
||||
if (readFile >= 0)
|
||||
{
|
||||
if (fsync(readFile) < 0)
|
||||
if (pg_fsync(readFile) < 0)
|
||||
elog(STOP, "ReadRecord: fsync(logfile %u seg %u) failed: %m",
|
||||
readId, readSeg);
|
||||
close(readFile);
|
||||
@ -1330,7 +1330,7 @@ WriteControlFile(void)
|
||||
if (write(fd, buffer, BLCKSZ) != BLCKSZ)
|
||||
elog(STOP, "WriteControlFile failed to write control file: %m");
|
||||
|
||||
if (fsync(fd) != 0)
|
||||
if (pg_fsync(fd) != 0)
|
||||
elog(STOP, "WriteControlFile failed to fsync control file: %m");
|
||||
|
||||
close(fd);
|
||||
@ -1400,7 +1400,7 @@ UpdateControlFile(void)
|
||||
if (write(fd, ControlFile, sizeof(ControlFileData)) != sizeof(ControlFileData))
|
||||
elog(STOP, "write(cntlfile) failed: %m");
|
||||
|
||||
if (fsync(fd) != 0)
|
||||
if (pg_fsync(fd) != 0)
|
||||
elog(STOP, "fsync(cntlfile) failed: %m");
|
||||
|
||||
close(fd);
|
||||
@ -1489,7 +1489,7 @@ BootStrapXLOG()
|
||||
if (write(logFile, buffer, BLCKSZ) != BLCKSZ)
|
||||
elog(STOP, "BootStrapXLOG failed to write logfile: %m");
|
||||
|
||||
if (fsync(logFile) != 0)
|
||||
if (pg_fsync(logFile) != 0)
|
||||
elog(STOP, "BootStrapXLOG failed to fsync logfile: %m");
|
||||
|
||||
close(logFile);
|
||||
|
Reference in New Issue
Block a user