diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h
index df884bd684b6f4cbf0a2ab9cdecd6da28f738f60..6def748ae81f796e2053e520a5718d6dd7f3d7f3 100644
--- a/contrib/pg_upgrade/pg_upgrade.h
+++ b/contrib/pg_upgrade/pg_upgrade.h
@@ -207,6 +207,10 @@ typedef struct
 	 * because it is being used by another process." so we have to send all
 	 * other output to 'nul'.  Therefore, we set this to DEVNULL on Win32, and
 	 * it equals 'filename' on all other platforms.
+	 *
+	 * We could use the Windows pgwin32_open() flags to allow shared file
+	 * writes but is unclear how all other tools would use those flags, so
+	 * we just avoid it and log a little less on Windows.
 	 */
 	char	   *filename2;
 	FILE	   *fd;				/* log FILE */