fsync patch from openlink

This commit is contained in:
Marc G. Fournier 1996-07-15 19:22:17 +00:00
parent d838e30f13
commit faf21935d1
4 changed files with 65 additions and 7 deletions

View File

@ -7,7 +7,7 @@
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.1.1.1 1996/07/09 06:21:14 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.2 1996/07/15 19:21:59 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -136,6 +136,9 @@ static char *relname; /* current relation name */
AttributeTupleForm attrtypes[MAXATTR]; /* points to attribute info */
static char *values[MAXATTR]; /* cooresponding attribute values */
int numattr; /* number of attributes for cur. rel */
#ifdef OPENLINK_PATCHES
extern int fsyncOff; /* do not fsync the database */
#endif
#if defined(WIN32) || defined(PORTNAME_next)
static jmp_buf Warn_restart;
@ -198,9 +201,16 @@ void err()
static void
usage()
{
#ifdef OPENLINK_PATCHES
fprintf(stderr,"Usage: postgres -boot [-d] [-C] [-F] [-O] [-Q] [-P portno] [dbName]\n");
#else
fprintf(stderr,"Usage: postgres -boot [-d] [-C] [-O] [-Q] [-P portno] [dbName]\n");
#endif
fprintf(stderr," d: debug mode\n");
fprintf(stderr," C: disable version checking\n");
#ifdef OPENLINK_PATCHES
fprintf(stderr," F: turn off fsync\n");
#endif
fprintf(stderr," O: set BootstrapProcessing mode\n");
fprintf(stderr," P portno: specify port number\n");
@ -256,8 +266,12 @@ BootstrapMain(int argc, char *argv[])
Quiet = 0;
Noversion = 0;
dbName = NULL;
#ifdef OPENLINK_PATCHES
while ((flag = getopt(argc, argv, "dCOQP:F")) != EOF) {
#else
while ((flag = getopt(argc, argv, "dCOQP")) != EOF) {
#endif
switch (flag) {
case 'd':
DebugMode = 1; /* print out debuggin info while parsing */
@ -274,6 +288,12 @@ BootstrapMain(int argc, char *argv[])
case 'P':/* specify port */
portFd = atoi(optarg);
break;
#ifdef OPENLINK_PATCHES
case 'F':
fsyncOff = 1;
break;
#endif
break;
default:
usage();
break;

View File

@ -6,7 +6,7 @@
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Id: fd.c,v 1.1.1.1 1996/07/09 06:21:55 scrappy Exp $
* $Id: fd.c,v 1.2 1996/07/15 19:22:07 scrappy Exp $
*
* NOTES:
*
@ -191,6 +191,15 @@ static int FileAccess(File file);
static File fileNameOpenFile(FileName fileName, int fileFlags, int fileMode);
static char *filepath(char *filename);
#ifdef OPENLINK_PATCHES
pg_fsync(fd)
{
extern int fsyncOff;
return fsyncOff ? 0 : fsync(fd);
}
#define fsync pg_fsync
#endif
#if defined(FDDEBUG)
static void
_dump_lru()

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.2 1996/07/09 06:35:38 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.3 1996/07/15 19:22:12 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -472,8 +472,12 @@ mdblindwrt(char *dbstr,
status = SM_SUCCESS;
/* write and sync the block */
#ifdef OPENLINK_PATCHES
if (write(fd, buffer, BLCKSZ) != BLCKSZ || (pg_fsync(fd) < 0))
#else
if (write(fd, buffer, BLCKSZ) != BLCKSZ || fsync(fd) < 0)
status = SM_FAIL;
#endif
if (close(fd) < 0)
status = SM_FAIL;

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.1.1.1 1996/07/09 06:22:00 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.2 1996/07/15 19:22:17 scrappy Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@ -93,6 +93,10 @@ CommandDest whereToSendOutput;
extern int lockingOff;
extern int NBuffers;
#ifdef OPENLINK_PATCHES
int fsyncOff = 0;
#endif
int dontExecute = 0;
static int ShowStats;
static bool IsEmptyQuery = false;
@ -699,7 +703,11 @@ static void usage(char* progname)
fprintf(stderr,
"Usage: %s [-B nbufs] [-d lvl] ] [-f plantype] \t[-m portno] [\t -o filename]\n",
progname);
#ifdef OPENLINK_PATCHES
fprintf(stderr,"\t[-P portno] [-t tracetype] [-x opttype] [-bCEiLFNopQSs] [dbname]\n");
#else
fprintf(stderr,"\t[-P portno] [-t tracetype] [-x opttype] [-bCEiLNopQSs] [dbname]\n");
#endif
fprintf(stderr, " b: consider bushy plan trees during optimization\n");
fprintf(stderr, " B: set number of buffers in buffer pool\n");
fprintf(stderr, " C: supress version info\n");
@ -708,6 +716,9 @@ static void usage(char* progname)
fprintf(stderr, " f: forbid plantype generation\n");
fprintf(stderr, " i: don't execute the query, just show the plan tree\n");
fprintf(stderr, " L: turn off locking\n");
#ifdef OPENLINK_PATCHES
fprintf(stderr, " F: turn off fsync\n");
#endif
fprintf(stderr, " m: set up a listening backend at portno to support multiple front-ends\n");
fprintf(stderr, " M: start as postmaster\n");
fprintf(stderr, " N: don't use newline as query delimiter\n");
@ -804,7 +815,11 @@ PostgresMain(int argc, char *argv[])
hostName = hostbuf;
}
#ifdef OPENLINK_PATCHES
while ((flag = getopt(argc, argv, "B:bCd:Ef:iLm:MNo:P:pQSst:x:F")) != EOF)
#else
while ((flag = getopt(argc, argv, "B:bCd:Ef:iLm:MNo:P:pQSst:x:")) != EOF)
#endif
switch (flag) {
case 'b':
@ -888,7 +903,17 @@ PostgresMain(int argc, char *argv[])
*/
lockingOff = 1;
break;
#ifdef OPENLINK_PATCHES
case 'F':
/* --------------------
* turn off fsync
* --------------------
*/
fsyncOff = 1;
break;
#endif
case 'm':
/* start up a listening backend that can respond to
multiple front-ends. (Note: all the front-end connections
@ -1195,7 +1220,7 @@ PostgresMain(int argc, char *argv[])
*/
if (IsUnderPostmaster == false) {
puts("\nPOSTGRES backend interactive interface");
puts("$Revision: 1.1.1.1 $ $Date: 1996/07/09 06:22:00 $");
puts("$Revision: 1.2 $ $Date: 1996/07/15 19:22:17 $");
}
/* ----------------