From 8d09e25693615320f03f3b1fd3412a90cbaa28b7 Mon Sep 17 00:00:00 2001
From: Jan Wieck <JanWieck@Yahoo.com>
Date: Wed, 4 Feb 2004 01:24:53 +0000
Subject: [PATCH] Backing out the background writer sync() option.

Jan
---
 src/backend/storage/buffer/bufmgr.c           | 51 +------------------
 src/backend/utils/misc/guc.c                  | 13 +----
 src/backend/utils/misc/postgresql.conf.sample |  3 --
 src/include/storage/bufmgr.h                  |  6 +--
 4 files changed, 5 insertions(+), 68 deletions(-)

diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 49e2315dad4..cb82159aff0 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.154 2004/01/30 15:57:03 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.155 2004/02/04 01:24:53 wieck Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -55,7 +55,6 @@
 #include "storage/proc.h"
 #include "storage/smgr.h"
 #include "utils/relcache.h"
-#include "utils/guc.h"
 
 #include "pgstat.h"
 
@@ -66,23 +65,9 @@
 /* GUC variable */
 bool		zero_damaged_pages = false;
 
-#define	BGWRITER_FLUSH_NONE			0
-#define	BGWRITER_FLUSH_NONE_STR		"none"
-#define	BGWRITER_FLUSH_SYNC			1
-#define	BGWRITER_FLUSH_SYNC_STR		"sync"
-
-#define	BGWRITER_FLUSH_DEFAULT		BGWRITER_FLUSH_NONE
-#define	BGWRITER_FLUSH_DEFAULT_STR	BGWRITER_FLUSH_NONE_STR
-
 int			BgWriterDelay = 200;
 int			BgWriterPercent = 1;
 int			BgWriterMaxpages = 100;
-int			BgWriterFlushMethod = BGWRITER_FLUSH_NONE;
-char	   *BgWriterFlushMethod_str = NULL;
-const char	BgWriterFlushMethod_default[] = BGWRITER_FLUSH_DEFAULT_STR;
-
-const char *BgWriterAssignSyncMethod(const char *method,
-            bool doit, GucSource source);
 
 static void WaitIO(BufferDesc *buf);
 static void StartBufferIO(BufferDesc *buf, bool forInput);
@@ -1041,19 +1026,6 @@ BufferBackgroundWriter(void)
 		if (InterruptPending)
 			return;
 
-		/*
-		 * Perform the configured buffer flush method
-		 */
-		switch (BgWriterFlushMethod)
-		{
-			case BGWRITER_FLUSH_NONE:
-				break;
-
-			case BGWRITER_FLUSH_SYNC:
-				smgrsync();
-				break;
-		}
-
 		/*
 		 * Nap for the configured time or sleep for 10 seconds if
 		 * there was nothing to do at all.
@@ -1062,27 +1034,6 @@ BufferBackgroundWriter(void)
 	}
 }
 
-const char *
-BgWriterAssignSyncMethod(const char *method, bool doit, GucSource source)
-{
-	int		new_flush_method;
-
-	if (strcasecmp(method, BGWRITER_FLUSH_NONE_STR) == 0)
-		new_flush_method = BGWRITER_FLUSH_NONE;
-	else 
-	if (strcasecmp(method, BGWRITER_FLUSH_SYNC_STR) == 0)
-		new_flush_method = BGWRITER_FLUSH_SYNC;
-	else
-		return NULL;
-	
-	if (!doit)
-		return method;
-
-	BgWriterFlushMethod = new_flush_method;
-	return method;
-}
-            
-
 /*
  * Do whatever is needed to prepare for commit at the bufmgr and smgr levels
  */
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 7a0deef9bbc..eb79ea2c627 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.184 2004/02/03 17:34:03 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.185 2004/02/04 01:24:53 wieck Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -95,8 +95,6 @@ static const char *assign_msglvl(int *var, const char *newval,
 static const char *assign_log_error_verbosity(const char *newval, bool doit,
 						   GucSource source);
 static bool assign_phony_autocommit(bool newval, bool doit, GucSource source);
-extern const char *BgWriterAssignSyncMethod(const char *method,
-						   bool doit, GucSource source);
 
 
 /*
@@ -1691,15 +1689,6 @@ static struct config_string ConfigureNamesString[] =
 		XLOG_sync_method_default, assign_xlog_sync_method, NULL
 	},
 
-	{
-		{"bgwriter_flush_method", PGC_SIGHUP, RESOURCES,
-			gettext_noop("Selects the method used by the bgwriter for forcing writes out to disk."),
-			NULL
-		},
-		&BgWriterFlushMethod_str,
-		BgWriterFlushMethod_default, BgWriterAssignSyncMethod, NULL
-	},
-
 	/* End-of-list marker */
 	{
 		{NULL, 0, 0, NULL, NULL}, NULL, NULL, NULL, NULL
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 0a6e15071ae..ad6f6bfcfef 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -61,12 +61,9 @@
 #debug_shared_buffers = 0	# 0-600 seconds
 
 # - Background writer -
-#debug_shared_buffers = 0	# 0-600 seconds interval (0 = off)
 #bgwriter_delay = 200		# 10-5000 milliseconds
 #bgwriter_percent = 1		# 0-100% of dirty buffers
 #bgwriter_maxpages = 100	# 1-1000 buffers max at once
-#bgwriter_flush_method = none # how the bgwriter flushes kernel buffers
-							# one of: none or sync
 
 # - Free Space Map -
 
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index adb45b307f6..e671e4dac23 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.74 2004/01/24 20:00:46 wieck Exp $
+ * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.75 2004/02/04 01:24:53 wieck Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -31,8 +31,6 @@ extern bool zero_damaged_pages;
 extern int	BgWriterDelay;
 extern int	BgWriterPercent;
 extern int	BgWriterMaxpages;
-extern char *BgWriterFlushMethod_str;
-extern const char BgWriterFlushMethod_default[];
 
 
 /* in buf_init.c */
@@ -182,6 +180,8 @@ extern void AbortBufferIO(void);
 extern void BufmgrCommit(void);
 extern int	BufferSync(int percent, int maxpages);
 extern void BufferBackgroundWriter(void);
+extern const char *BgWriterAssignSyncMethod(const char *method,
+			bool doid, bool interactive);
 
 extern void InitLocalBuffer(void);
 
-- 
GitLab