From f9bb944cd879949cf454b941f2b8fa7b00fcc1e4 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Wed, 12 Feb 2014 15:38:14 -0500
Subject: [PATCH] pg_test_fsync: add C comment about direct I/O and write size
 failure

Report from Marti Raudsepp
---
 contrib/pg_test_fsync/pg_test_fsync.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/contrib/pg_test_fsync/pg_test_fsync.c b/contrib/pg_test_fsync/pg_test_fsync.c
index 669c4190d38..682821a8d78 100644
--- a/contrib/pg_test_fsync/pg_test_fsync.c
+++ b/contrib/pg_test_fsync/pg_test_fsync.c
@@ -369,6 +369,12 @@ test_sync(int writes_per_op)
 		{
 			for (writes = 0; writes < writes_per_op; writes++)
 				if (write(tmpfile, buf, XLOG_BLCKSZ) != XLOG_BLCKSZ)
+				/*
+				 * This can generate write failures if the filesystem
+				 * has a large block size, e.g. 4k, and there is no
+				 * support for O_DIRECT writes smaller than the
+				 * file system block size, e.g. XFS.
+				 */
 					die("write failed");
 			if (lseek(tmpfile, 0, SEEK_SET) == -1)
 				die("seek failed");
-- 
GitLab