Skip to content

Commit 12cc3a1

Browse files
committed
Format change backup.conf is renamed to backup.control
1 parent 31efd8f commit 12cc3a1

File tree

6 files changed

+57
-72
lines changed

6 files changed

+57
-72
lines changed

backup.c

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "streamutil.h"
2727
#include "receivelog.h"
2828

29+
static const char *backupModes[] = {"", "PAGE", "PTRACK", "FULL"};
2930
static int standby_message_timeout = 10 * 1000; /* 10 sec = default */
3031
static XLogRecPtr stop_backup_lsn = InvalidXLogRecPtr;
3132
const char *progname = "pg_probackup";
@@ -191,7 +192,7 @@ do_backup_database(parray *backup_list)
191192
prev_backup_start_lsn = &prev_backup->start_lsn;
192193

193194
current.parent_backup = prev_backup->start_time;
194-
pgBackupWriteConf(&current);
195+
pgBackupWriteBackupControlFile(&current);
195196
}
196197

197198
/* initialize backup list */
@@ -417,19 +418,17 @@ do_backup(void)
417418
*/
418419
check_system_identifiers();
419420

420-
elog(LOG, "Backup start");
421-
/* Show configuration actually used */
422-
if (verbose)
423-
pgBackupWriteConfigSection(stderr, &current);
421+
elog(LOG, "Backup start. backup-mode = %s+%s",
422+
backupModes[current.backup_mode], current.stream?"STREAM":"ARCHIVE");
424423

425424
/* Start backup. Update backup status. */
426425
current.status = BACKUP_STATUS_RUNNING;
427426
current.start_time = time(NULL);
428427

429-
/* Create backup directory and BACKUP_CONF_FILE */
428+
/* Create backup directory and BACKUP_CONTROL_FILE */
430429
if (pgBackupCreateDir(&current))
431430
elog(ERROR, "cannot create backup directory");
432-
pgBackupWriteConf(&current);
431+
pgBackupWriteBackupControlFile(&current);
433432

434433
elog(LOG, "Backup destination is initialized");
435434

@@ -448,7 +447,7 @@ do_backup(void)
448447
/* Backup is done. Update backup status */
449448
current.end_time = time(NULL);
450449
current.status = BACKUP_STATUS_DONE;
451-
pgBackupWriteConf(&current);
450+
pgBackupWriteBackupControlFile(&current);
452451

453452
elog(LOG, "Backup completed. Total bytes : " INT64_FORMAT "",
454453
current.data_bytes);
@@ -940,15 +939,15 @@ backup_cleanup(bool fatal, void *userdata)
940939
}
941940

942941
/*
943-
* Update status of backup in BACKUP_CONF_FILE to ERROR.
942+
* Update status of backup in BACKUP_CONTROL_FILE to ERROR.
944943
* end_time != 0 means backup finished
945944
*/
946945
if (current.status == BACKUP_STATUS_RUNNING && current.end_time == 0)
947946
{
948947
elog(LOG, "Backup is running, update its status to ERROR");
949948
current.end_time = time(NULL);
950949
current.status = BACKUP_STATUS_ERROR;
951-
pgBackupWriteConf(&current);
950+
pgBackupWriteBackupControlFile(&current);
952951
}
953952
}
954953

catalog.c

Lines changed: 40 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@
2121
#include <time.h>
2222
#include <unistd.h>
2323

24-
static pgBackup *read_backup_from_file(const char *path);
25-
26-
#define BOOL_TO_STR(val) ((val) ? "true" : "false")
24+
static const char *backupModes[] = {"", "PAGE", "PTRACK", "FULL"};
25+
static pgBackup *readBackupControlFile(const char *path);
2726

2827
static bool exit_hook_registered = false;
2928
static char lock_file[MAXPGPATH];
@@ -208,7 +207,7 @@ catalog_lock(void)
208207
}
209208

210209
/*
211-
* Read backup meta information from BACKUP_CONF_FILE.
210+
* Read backup meta information from BACKUP_CONTROL_FILE.
212211
* If no backup matches, return NULL.
213212
*/
214213
pgBackup *
@@ -218,9 +217,9 @@ read_backup(time_t timestamp)
218217
char conf_path[MAXPGPATH];
219218

220219
tmp.start_time = timestamp;
221-
pgBackupGetPath(&tmp, conf_path, lengthof(conf_path), BACKUP_CONF_FILE);
220+
pgBackupGetPath(&tmp, conf_path, lengthof(conf_path), BACKUP_CONTROL_FILE);
222221

223-
return read_backup_from_file(conf_path);
222+
return readBackupControlFile(conf_path);
224223
}
225224

226225
static bool
@@ -274,9 +273,9 @@ catalog_get_backup_list(time_t requested_backup_id)
274273
/* open subdirectory of specific backup */
275274
join_path_components(date_path, backups_path, date_ent->d_name);
276275

277-
/* read backup information from BACKUP_CONF_FILE */
278-
snprintf(backup_conf_path, MAXPGPATH, "%s/%s", date_path, BACKUP_CONF_FILE);
279-
backup = read_backup_from_file(backup_conf_path);
276+
/* read backup information from BACKUP_CONTROL_FILE */
277+
snprintf(backup_conf_path, MAXPGPATH, "%s/%s", date_path, BACKUP_CONTROL_FILE);
278+
backup = readBackupControlFile(backup_conf_path);
280279

281280
/* ignore corrupted backups */
282281
if (backup)
@@ -370,94 +369,83 @@ pgBackupCreateDir(pgBackup *backup)
370369
}
371370

372371
/*
373-
* Write configuration section of backup.in to stream "out".
372+
* Write information about backup.in to stream "out".
373+
* TODO improve comments
374374
*/
375375
void
376-
pgBackupWriteConfigSection(FILE *out, pgBackup *backup)
377-
{
378-
static const char *modes[] = { "", "PAGE", "PTRACK", "FULL"};
379-
380-
fprintf(out, "# configuration\n");
381-
fprintf(out, "BACKUP_MODE=%s\n", modes[backup->backup_mode]);
382-
}
383-
384-
/*
385-
* Write result section of backup.in to stream "out".
386-
*/
387-
void
388-
pgBackupWriteResultSection(FILE *out, pgBackup *backup)
376+
pgBackupWriteControl(FILE *out, pgBackup *backup)
389377
{
390378
char timestamp[20];
391-
392-
fprintf(out, "# result\n");
393-
fprintf(out, "TIMELINEID=%d\n", backup->tli);
394-
fprintf(out, "START_LSN=%x/%08x\n",
379+
fprintf(out, "#Configuration\n");
380+
fprintf(out, "backup-mode = %s\n", backupModes[backup->backup_mode]);
381+
fprintf(out, "stream = %s\n", backup->stream?"true":"false");
382+
383+
fprintf(out, "\n#Compatibility\n");
384+
fprintf(out, "block-size = %u\n", backup->block_size);
385+
fprintf(out, "xlog-block-size = %u\n", backup->wal_block_size);
386+
fprintf(out, "checksum-version = %u\n", backup->checksum_version);
387+
388+
fprintf(out, "\n#Result backup info\n");
389+
fprintf(out, "timelineid = %d\n", backup->tli);
390+
fprintf(out, "start-lsn = %x/%08x\n",
395391
(uint32) (backup->start_lsn >> 32),
396392
(uint32) backup->start_lsn);
397-
fprintf(out, "STOP_LSN=%x/%08x\n",
393+
fprintf(out, "stop-lsn = %x/%08x\n",
398394
(uint32) (backup->stop_lsn >> 32),
399395
(uint32) backup->stop_lsn);
400396

401397
time2iso(timestamp, lengthof(timestamp), backup->start_time);
402-
fprintf(out, "START_TIME='%s'\n", timestamp);
398+
fprintf(out, "start-time = '%s'\n", timestamp);
403399
if (backup->end_time > 0)
404400
{
405401
time2iso(timestamp, lengthof(timestamp), backup->end_time);
406-
fprintf(out, "END_TIME='%s'\n", timestamp);
402+
fprintf(out, "end-time = '%s'\n", timestamp);
407403
}
408-
fprintf(out, "RECOVERY_XID=" XID_FMT "\n", backup->recovery_xid);
404+
fprintf(out, "recovery-xid = " XID_FMT "\n", backup->recovery_xid);
409405
if (backup->recovery_time > 0)
410406
{
411407
time2iso(timestamp, lengthof(timestamp), backup->recovery_time);
412-
fprintf(out, "RECOVERY_TIME='%s'\n", timestamp);
408+
fprintf(out, "recovery-time = '%s'\n", timestamp);
413409
}
414410

411+
/* TODO rename the field? */
415412
if (backup->data_bytes != BYTES_INVALID)
416-
fprintf(out, "DATA_BYTES=" INT64_FORMAT "\n",
417-
backup->data_bytes);
418-
fprintf(out, "BLOCK_SIZE=%u\n", backup->block_size);
419-
fprintf(out, "XLOG_BLOCK_SIZE=%u\n", backup->wal_block_size);
420-
fprintf(out, "CHECKSUM_VERSION=%u\n", backup->checksum_version);
421-
fprintf(out, "STREAM=%u\n", backup->stream);
422-
423-
fprintf(out, "STATUS=%s\n", status2str(backup->status));
413+
fprintf(out, "data-bytes = " INT64_FORMAT "\n", backup->data_bytes);
414+
415+
fprintf(out, "status = %s\n", status2str(backup->status));
424416
if (backup->parent_backup != 0)
425417
{
426418
char *parent_backup = base36enc(backup->parent_backup);
427-
fprintf(out, "PARENT_BACKUP='%s'\n", parent_backup);
419+
fprintf(out, "parent-backup-id = '%s'\n", parent_backup);
428420
free(parent_backup);
429421
}
430422
}
431423

432-
/* create BACKUP_CONF_FILE */
424+
/* create BACKUP_CONTROL_FILE */
433425
void
434-
pgBackupWriteConf(pgBackup *backup)
426+
pgBackupWriteBackupControlFile(pgBackup *backup)
435427
{
436428
FILE *fp = NULL;
437429
char ini_path[MAXPGPATH];
438430

439-
pgBackupGetPath(backup, ini_path, lengthof(ini_path), BACKUP_CONF_FILE);
431+
pgBackupGetPath(backup, ini_path, lengthof(ini_path), BACKUP_CONTROL_FILE);
440432
fp = fopen(ini_path, "wt");
441433
if (fp == NULL)
442434
elog(ERROR, "cannot open configuration file \"%s\": %s", ini_path,
443435
strerror(errno));
444436

445-
/* configuration section */
446-
pgBackupWriteConfigSection(fp, backup);
447-
448-
/* result section */
449-
pgBackupWriteResultSection(fp, backup);
437+
pgBackupWriteControl(fp, backup);
450438

451439
fclose(fp);
452440
}
453441

454442
/*
455-
* Read BACKUP_CONF_FILE and create pgBackup.
443+
* Read BACKUP_CONTROL_FILE and create pgBackup.
456444
* - Comment starts with ';'.
457445
* - Do not care section.
458446
*/
459447
static pgBackup *
460-
read_backup_from_file(const char *path)
448+
readBackupControlFile(const char *path)
461449
{
462450
pgBackup *backup = pgut_new(pgBackup);
463451
char *backup_mode = NULL;
@@ -480,7 +468,7 @@ read_backup_from_file(const char *path)
480468
{'u', 0, "block-size", &backup->block_size, SOURCE_FILE_STRICT},
481469
{'u', 0, "xlog-block-size", &backup->wal_block_size, SOURCE_FILE_STRICT},
482470
{'u', 0, "checksum_version", &backup->checksum_version, SOURCE_FILE_STRICT},
483-
{'u', 0, "stream", &backup->stream, SOURCE_FILE_STRICT},
471+
{'b', 0, "stream", &backup->stream, SOURCE_FILE_STRICT},
484472
{'s', 0, "status", &status, SOURCE_FILE_STRICT},
485473
{'s', 0, "parent_backup", &parent_backup, SOURCE_FILE_STRICT},
486474
{0}

delete.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ pgBackupDeleteFiles(pgBackup *backup)
271271
* the error occurs before deleting all backup files.
272272
*/
273273
backup->status = BACKUP_STATUS_DELETING;
274-
pgBackupWriteConf(backup);
274+
pgBackupWriteBackupControlFile(backup);
275275

276276
/* list files to be deleted */
277277
files = parray_new();

pg_probackup.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#define BACKUPS_DIR "backups"
3737
#define PG_XLOG_DIR "pg_xlog"
3838
#define PG_TBLSPC_DIR "pg_tblspc"
39-
#define BACKUP_CONF_FILE "backup.conf"
39+
#define BACKUP_CONTROL_FILE "backup.control"
4040
#define BACKUP_CATALOG_CONF_FILE "pg_probackup.conf"
4141
#define BACKUP_CATALOG_PID "pg_probackup.pid"
4242
#define DATABASE_FILE_LIST "backup_content.control"
@@ -286,9 +286,8 @@ extern parray *catalog_get_backup_list(time_t requested_backup_id);
286286
extern pgBackup *catalog_get_last_data_backup(parray *backup_list,
287287
TimeLineID tli);
288288
extern void catalog_lock(void);
289-
extern void pgBackupWriteConfigSection(FILE *out, pgBackup *backup);
290-
extern void pgBackupWriteResultSection(FILE *out, pgBackup *backup);
291-
extern void pgBackupWriteConf(pgBackup *backup);
289+
extern void pgBackupWriteControl(FILE *out, pgBackup *backup);
290+
extern void pgBackupWriteBackupControlFile(pgBackup *backup);
292291
extern void pgBackupGetPath(const pgBackup *backup, char *path, size_t len, const char *subdir);
293292
extern int pgBackupCreateDir(pgBackup *backup);
294293
extern void pgBackupFree(void *backup);

show.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "pg_probackup.h"
1212
#include <time.h>
1313

14+
static const char *backupModes[] = {"", "PAGE", "PTRACK", "FULL"};
1415
static void show_backup_list(FILE *out, parray *backup_list);
1516
static void show_backup_detail(FILE *out, pgBackup *backup);
1617

@@ -172,7 +173,6 @@ show_backup_list(FILE *out, parray *backup_list)
172173
for (i = 0; i < parray_num(backup_list); i++)
173174
{
174175
pgBackup *backup = parray_get(backup_list, i);
175-
const char *modes[] = {"", "PAGE", "PTRACK", "FULL"};
176176
TimeLineID parent_tli;
177177
char timestamp[20] = "----";
178178
char duration[20] = "----";
@@ -198,7 +198,7 @@ show_backup_list(FILE *out, parray *backup_list)
198198
fprintf(out, "%-8s %-19s %s%s %2d / %-2d %5s %6s %2X/%08X %2X/%08X %-8s\n",
199199
base36enc(backup->start_time),
200200
timestamp,
201-
modes[backup->backup_mode],
201+
backupModes[backup->backup_mode],
202202
backup->stream ? "+STREAM": "+ARCHIVE",
203203
backup->tli,
204204
parent_tli,
@@ -215,6 +215,5 @@ show_backup_list(FILE *out, parray *backup_list)
215215
static void
216216
show_backup_detail(FILE *out, pgBackup *backup)
217217
{
218-
pgBackupWriteConfigSection(out, backup);
219-
pgBackupWriteResultSection(out, backup);
218+
pgBackupWriteControl(out, backup);
220219
}

validate.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ pgBackupValidate(pgBackup *backup)
8989

9090
/* Update backup status */
9191
backup->status = corrupted ? BACKUP_STATUS_CORRUPT : BACKUP_STATUS_OK;
92-
pgBackupWriteConf(backup);
92+
pgBackupWriteBackupControlFile(backup);
9393

9494
if (corrupted)
9595
elog(WARNING, "Backup %s is corrupted", backup_id_string);

0 commit comments

Comments
 (0)