]> granicus.if.org Git - postgresql/commitdiff
fsync backup_label after pg_start_backup()
authorSimon Riggs <simon@2ndQuadrant.com>
Tue, 7 Aug 2012 15:19:13 +0000 (16:19 +0100)
committerSimon Riggs <simon@2ndQuadrant.com>
Tue, 7 Aug 2012 15:19:13 +0000 (16:19 +0100)
Dave Kerr

src/backend/access/transam/xlog.c

index a73cd6b9dec1a44f37842627e6c46cf3c05d3112..efd0347bc9bbd8f714ac07042114465416fccdf8 100644 (file)
@@ -9346,6 +9346,7 @@ do_pg_start_backup(const char *backupidstr, bool fast, char **labelfile)
                                                                BACKUP_LABEL_FILE)));
                        if (fwrite(labelfbuf.data, labelfbuf.len, 1, fp) != 1 ||
                                fflush(fp) != 0 ||
+                               pg_fsync(fileno(fp)) != 0 ||
                                ferror(fp) ||
                                FreeFile(fp))
                                ereport(ERROR,