From bc616703e8767d2a5d0312cdbf5dc3c6de2b86fe Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri, 21 Jan 2011 19:27:25 -0500 Subject: [PATCH] Clean up pg_test_fsync commit. Actually rename the program, rather than just claiming we did. Hook it into the build system. Get rid of useless dependency on libpq. Clean up #include list and messy whitespace. --- contrib/Makefile | 1 + contrib/README | 8 ++- contrib/pg_test_fsync/.gitignore | 1 + contrib/pg_test_fsync/Makefile | 14 ++-- .../{test_fsync.c => pg_test_fsync.c} | 64 +++++++++---------- doc/src/sgml/pgtestfsync.sgml | 2 +- 6 files changed, 45 insertions(+), 45 deletions(-) create mode 100644 contrib/pg_test_fsync/.gitignore rename contrib/pg_test_fsync/{test_fsync.c => pg_test_fsync.c} (95%) diff --git a/contrib/Makefile b/contrib/Makefile index 5747bcc6ad5..76fa2a65769 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -33,6 +33,7 @@ SUBDIRS = \ pg_freespacemap \ pg_standby \ pg_stat_statements \ + pg_test_fsync \ pg_trgm \ pg_upgrade \ pg_upgrade_support \ diff --git a/contrib/README b/contrib/README index 6c5b7d57b2e..fdc5dc11e64 100644 --- a/contrib/README +++ b/contrib/README @@ -30,7 +30,7 @@ adminpack - auth_delay Add a short delay after a failed authentication attempt, to make - brute-force attacks on database passwords a bit harder. + brute-force attacks on database passwords a bit harder. by KaiGai Kohei <kaigai@ak.jp.nec.com> auto_explain - @@ -71,7 +71,7 @@ dict_xsyn - earthdistance - Functions for computing distances between two points on Earth - by Bruno Wolff III <bruno@wolff.to> and Hal Snyder <hal@vailsys.com> + by Bruno Wolff III <bruno@wolff.to> and Hal Snyder <hal@vailsys.com> fuzzystrmatch - Levenshtein, metaphone, and soundex fuzzy string matching @@ -129,6 +129,10 @@ pg_stat_statements - Track statement execution times across a whole database cluster by Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> +pg_test_fsync - + Test different wal_sync_method settings + by Bruce Momjian <bruce@momjian.us> + pg_trgm - Functions for determining the similarity of text based on trigram matching. diff --git a/contrib/pg_test_fsync/.gitignore b/contrib/pg_test_fsync/.gitignore new file mode 100644 index 00000000000..f3b59324985 --- /dev/null +++ b/contrib/pg_test_fsync/.gitignore @@ -0,0 +1 @@ +/pg_test_fsync diff --git a/contrib/pg_test_fsync/Makefile b/contrib/pg_test_fsync/Makefile index 22622a19493..a9365667b39 100644 --- a/contrib/pg_test_fsync/Makefile +++ b/contrib/pg_test_fsync/Makefile @@ -1,22 +1,20 @@ # -# Makefile for test_fsync +# Makefile for pg_test_fsync # -# contrib/test_fsync/Makefile +# contrib/pg_test_fsync/Makefile -PGFILEDESC = "test_fsync - test various disk sync methods" +PGFILEDESC = "pg_test_fsync - test various disk sync methods" PGAPPICON = win32 -PROGRAM = test_fsync -OBJS = test_fsync.o - -PG_LIBS = $(libpq_pgport) +PROGRAM = pg_test_fsync +OBJS = pg_test_fsync.o ifdef USE_PGXS PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) else -subdir = contrib/test_fsync +subdir = contrib/pg_test_fsync top_builddir = ../.. include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/pg_test_fsync/test_fsync.c b/contrib/pg_test_fsync/pg_test_fsync.c similarity index 95% rename from contrib/pg_test_fsync/test_fsync.c rename to contrib/pg_test_fsync/pg_test_fsync.c index 59aefa405ca..33095979070 100644 --- a/contrib/pg_test_fsync/test_fsync.c +++ b/contrib/pg_test_fsync/pg_test_fsync.c @@ -1,31 +1,27 @@ /* - * test_fsync.c + * pg_test_fsync.c * tests all supported fsync() methods */ #include "postgres.h" +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/time.h> +#include <time.h> +#include <unistd.h> + #include "getopt_long.h" #include "access/xlog_internal.h" #include "access/xlog.h" #include "access/xlogdefs.h" -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include <sys/time.h> -#include <unistd.h> -#include <string.h> - -/* +/* * put the temp files in the local directory - * unless the user specifies otherwise + * unless the user specifies otherwise */ -#define FSYNC_FILENAME "./test_fsync.out" +#define FSYNC_FILENAME "./pg_test_fsync.out" #define WRITE_SIZE (8 * 1024) /* 8k */ @@ -54,23 +50,23 @@ int main(int argc, char *argv[]) { handle_args(argc, argv); - + prepare_buf(); test_open(); - + /* Test using 1 8k write */ test_sync(1); /* Test using 2 8k writes */ test_sync(2); - + test_open_syncs(); test_file_descriptor_sync(); - + test_non_sync(); - + unlink(filename); return 0; @@ -92,12 +88,12 @@ handle_args(int argc, char *argv[]) if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "-?") == 0) { - fprintf(stderr, "test_fsync [-f filename] [ops-per-test]\n"); + fprintf(stderr, "pg_test_fsync [-f filename] [ops-per-test]\n"); exit(0); } if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0) { - fprintf(stderr,"test_fsync " PG_VERSION "\n"); + fprintf(stderr,"pg_test_fsync " PG_VERSION "\n"); exit(0); } } @@ -114,11 +110,11 @@ handle_args(int argc, char *argv[]) case 'o': ops_per_test = atoi(optarg); break; - + default: fprintf(stderr, "Try \"%s --help\" for more information.\n", - "test_fsync"); + "pg_test_fsync"); exit(1); break; } @@ -144,8 +140,8 @@ test_open(void) { int tmpfile; - /* - * test if we can open the target file + /* + * test if we can open the target file */ if ((tmpfile = open(filename, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR)) == -1) die("Cannot open output file."); @@ -164,7 +160,7 @@ test_sync(int writes_per_op) { int tmpfile, ops, writes; bool fs_warning = false; - + if (writes_per_op == 1) printf("\nCompare file sync methods using one 8k write:\n"); else @@ -279,10 +275,10 @@ test_sync(int writes_per_op) gettimeofday(&stop_t, NULL); close(tmpfile); print_elapse(start_t, stop_t); - + /* * If fsync_writethrough is available, test as well - */ + */ #ifdef HAVE_FSYNC_WRITETHROUGH printf(LABEL_FORMAT, "fsync_writethrough"); fflush(stdout); @@ -422,7 +418,7 @@ test_open_sync(const char *msg, int writes_size) close(tmpfile); print_elapse(start_t, stop_t); } - + #else printf(NA_FORMAT, "open_sync", "n/a\n"); #endif @@ -444,8 +440,8 @@ test_file_descriptor_sync(void) printf("(If the times are similar, fsync() can sync data written\n"); printf("on a different descriptor.)\n"); - /* - * first write, fsync and close, which is the + /* + * first write, fsync and close, which is the * normal behavior without multiple descriptors */ printf(LABEL_FORMAT, "write, fsync, close"); @@ -477,8 +473,8 @@ test_file_descriptor_sync(void) * This simulates processes fsyncing each other's * writes. */ - printf(LABEL_FORMAT, "write, close, fsync"); - fflush(stdout); + printf(LABEL_FORMAT, "write, close, fsync"); + fflush(stdout); gettimeofday(&start_t, NULL); for (ops = 0; ops < ops_per_test; ops++) @@ -525,7 +521,7 @@ test_non_sync(void) print_elapse(start_t, stop_t); } -/* +/* * print out the writes per second for tests */ void diff --git a/doc/src/sgml/pgtestfsync.sgml b/doc/src/sgml/pgtestfsync.sgml index d5358a95e4b..5ad7b73ed0b 100644 --- a/doc/src/sgml/pgtestfsync.sgml +++ b/doc/src/sgml/pgtestfsync.sgml @@ -40,7 +40,7 @@ pg_test_fsync [options] This file should be in the same file system that the <filename>pg_xlog</> directory is or will be placed in. (<filename>pg_xlog</> contains the <acronym>WAL</> files.) - The default is <filename>test_fsync.out</> in the current + The default is <filename>pg_test_fsync.out</> in the current directory. </para> </listitem>