Commit 3989dbdf authored by Robert Haas's avatar Robert Haas

Rename exposed identifiers to say "backup manifest".

Function names declared "extern" now use BackupManifest in the name
rather than just Manifest, and data types use backup_manifest
rather than just manifest.

Per note from Michael Paquier.

Discussion: http://postgr.es/m/20200418125713.GG350229@paquier.xyz
parent 299298bc
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
#include "utils/builtins.h" #include "utils/builtins.h"
#include "utils/json.h" #include "utils/json.h"
static void AppendStringToManifest(backup_manifest_info *manifest, char *s);
/* /*
* Does the user want a backup manifest? * Does the user want a backup manifest?
* *
...@@ -28,7 +30,7 @@ ...@@ -28,7 +30,7 @@
* want a manifest, we set manifest->buffile to NULL. * want a manifest, we set manifest->buffile to NULL.
*/ */
static inline bool static inline bool
IsManifestEnabled(manifest_info *manifest) IsManifestEnabled(backup_manifest_info *manifest)
{ {
return (manifest->buffile != NULL); return (manifest->buffile != NULL);
} }
...@@ -51,8 +53,9 @@ IsManifestEnabled(manifest_info *manifest) ...@@ -51,8 +53,9 @@ IsManifestEnabled(manifest_info *manifest)
* SendBackupManifest. * SendBackupManifest.
*/ */
void void
InitializeManifest(manifest_info *manifest, manifest_option want_manifest, InitializeBackupManifest(backup_manifest_info *manifest,
pg_checksum_type manifest_checksum_type) backup_manifest_option want_manifest,
pg_checksum_type manifest_checksum_type)
{ {
if (want_manifest == MANIFEST_OPTION_NO) if (want_manifest == MANIFEST_OPTION_NO)
manifest->buffile = NULL; manifest->buffile = NULL;
...@@ -71,33 +74,13 @@ InitializeManifest(manifest_info *manifest, manifest_option want_manifest, ...@@ -71,33 +74,13 @@ InitializeManifest(manifest_info *manifest, manifest_option want_manifest,
"\"Files\": ["); "\"Files\": [");
} }
/*
* Append a cstring to the manifest.
*/
void
AppendStringToManifest(manifest_info *manifest, char *s)
{
int len = strlen(s);
size_t written;
Assert(manifest != NULL);
if (manifest->still_checksumming)
pg_sha256_update(&manifest->manifest_ctx, (uint8 *) s, len);
written = BufFileWrite(manifest->buffile, s, len);
if (written != len)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not write to temporary file: %m")));
manifest->manifest_size += len;
}
/* /*
* Add an entry to the backup manifest for a file. * Add an entry to the backup manifest for a file.
*/ */
void void
AddFileToManifest(manifest_info *manifest, const char *spcoid, AddFileToBackupManifest(backup_manifest_info *manifest, const char *spcoid,
const char *pathname, size_t size, pg_time_t mtime, const char *pathname, size_t size, pg_time_t mtime,
pg_checksum_context *checksum_ctx) pg_checksum_context * checksum_ctx)
{ {
char pathbuf[MAXPGPATH]; char pathbuf[MAXPGPATH];
int pathlen; int pathlen;
...@@ -203,8 +186,9 @@ AddFileToManifest(manifest_info *manifest, const char *spcoid, ...@@ -203,8 +186,9 @@ AddFileToManifest(manifest_info *manifest, const char *spcoid,
* this backup to the manifest. * this backup to the manifest.
*/ */
void void
AddWALInfoToManifest(manifest_info *manifest, XLogRecPtr startptr, AddWALInfoToBackupManifest(backup_manifest_info *manifest, XLogRecPtr startptr,
TimeLineID starttli, XLogRecPtr endptr, TimeLineID endtli) TimeLineID starttli, XLogRecPtr endptr,
TimeLineID endtli)
{ {
List *timelines; List *timelines;
ListCell *lc; ListCell *lc;
...@@ -299,7 +283,7 @@ AddWALInfoToManifest(manifest_info *manifest, XLogRecPtr startptr, ...@@ -299,7 +283,7 @@ AddWALInfoToManifest(manifest_info *manifest, XLogRecPtr startptr,
* Finalize the backup manifest, and send it to the client. * Finalize the backup manifest, and send it to the client.
*/ */
void void
SendBackupManifest(manifest_info *manifest) SendBackupManifest(backup_manifest_info *manifest)
{ {
StringInfoData protobuf; StringInfoData protobuf;
uint8 checksumbuf[PG_SHA256_DIGEST_LENGTH]; uint8 checksumbuf[PG_SHA256_DIGEST_LENGTH];
...@@ -373,3 +357,23 @@ SendBackupManifest(manifest_info *manifest) ...@@ -373,3 +357,23 @@ SendBackupManifest(manifest_info *manifest)
/* Release resources */ /* Release resources */
BufFileClose(manifest->buffile); BufFileClose(manifest->buffile);
} }
/*
* Append a cstring to the manifest.
*/
static void
AppendStringToManifest(backup_manifest_info *manifest, char *s)
{
int len = strlen(s);
size_t written;
Assert(manifest != NULL);
if (manifest->still_checksumming)
pg_sha256_update(&manifest->manifest_ctx, (uint8 *) s, len);
written = BufFileWrite(manifest->buffile, s, len);
if (written != len)
ereport(ERROR,
(errcode_for_file_access(),
errmsg("could not write to temporary file: %m")));
manifest->manifest_size += len;
}
...@@ -54,18 +54,18 @@ typedef struct ...@@ -54,18 +54,18 @@ typedef struct
bool includewal; bool includewal;
uint32 maxrate; uint32 maxrate;
bool sendtblspcmapfile; bool sendtblspcmapfile;
manifest_option manifest; backup_manifest_option manifest;
pg_checksum_type manifest_checksum_type; pg_checksum_type manifest_checksum_type;
} basebackup_options; } basebackup_options;
static int64 sendDir(const char *path, int basepathlen, bool sizeonly, static int64 sendDir(const char *path, int basepathlen, bool sizeonly,
List *tablespaces, bool sendtblspclinks, List *tablespaces, bool sendtblspclinks,
manifest_info *manifest, const char *spcoid); backup_manifest_info *manifest, const char *spcoid);
static bool sendFile(const char *readfilename, const char *tarfilename, static bool sendFile(const char *readfilename, const char *tarfilename,
struct stat *statbuf, bool missing_ok, Oid dboid, struct stat *statbuf, bool missing_ok, Oid dboid,
manifest_info *manifest, const char *spcoid); backup_manifest_info *manifest, const char *spcoid);
static void sendFileWithContent(const char *filename, const char *content, static void sendFileWithContent(const char *filename, const char *content,
manifest_info *manifest); backup_manifest_info *manifest);
static int64 _tarWriteHeader(const char *filename, const char *linktarget, static int64 _tarWriteHeader(const char *filename, const char *linktarget,
struct stat *statbuf, bool sizeonly); struct stat *statbuf, bool sizeonly);
static int64 _tarWriteDir(const char *pathbuf, int basepathlen, struct stat *statbuf, static int64 _tarWriteDir(const char *pathbuf, int basepathlen, struct stat *statbuf,
...@@ -268,7 +268,7 @@ perform_base_backup(basebackup_options *opt) ...@@ -268,7 +268,7 @@ perform_base_backup(basebackup_options *opt)
TimeLineID endtli; TimeLineID endtli;
StringInfo labelfile; StringInfo labelfile;
StringInfo tblspc_map_file = NULL; StringInfo tblspc_map_file = NULL;
manifest_info manifest; backup_manifest_info manifest;
int datadirpathlen; int datadirpathlen;
List *tablespaces = NIL; List *tablespaces = NIL;
...@@ -298,7 +298,8 @@ perform_base_backup(basebackup_options *opt) ...@@ -298,7 +298,8 @@ perform_base_backup(basebackup_options *opt)
labelfile = makeStringInfo(); labelfile = makeStringInfo();
tblspc_map_file = makeStringInfo(); tblspc_map_file = makeStringInfo();
InitializeManifest(&manifest, opt->manifest, opt->manifest_checksum_type); InitializeBackupManifest(&manifest, opt->manifest,
opt->manifest_checksum_type);
total_checksum_failures = 0; total_checksum_failures = 0;
...@@ -710,7 +711,7 @@ perform_base_backup(basebackup_options *opt) ...@@ -710,7 +711,7 @@ perform_base_backup(basebackup_options *opt)
pq_putemptymessage('c'); pq_putemptymessage('c');
} }
AddWALInfoToManifest(&manifest, startptr, starttli, endptr, endtli); AddWALInfoToBackupManifest(&manifest, startptr, starttli, endptr, endtli);
SendBackupManifest(&manifest); SendBackupManifest(&manifest);
...@@ -1085,7 +1086,7 @@ SendXlogRecPtrResult(XLogRecPtr ptr, TimeLineID tli) ...@@ -1085,7 +1086,7 @@ SendXlogRecPtrResult(XLogRecPtr ptr, TimeLineID tli)
*/ */
static void static void
sendFileWithContent(const char *filename, const char *content, sendFileWithContent(const char *filename, const char *content,
manifest_info *manifest) backup_manifest_info *manifest)
{ {
struct stat statbuf; struct stat statbuf;
int pad, int pad,
...@@ -1129,9 +1130,8 @@ sendFileWithContent(const char *filename, const char *content, ...@@ -1129,9 +1130,8 @@ sendFileWithContent(const char *filename, const char *content,
} }
pg_checksum_update(&checksum_ctx, (uint8 *) content, len); pg_checksum_update(&checksum_ctx, (uint8 *) content, len);
AddFileToManifest(manifest, NULL, filename, len, AddFileToBackupManifest(manifest, NULL, filename, len,
(pg_time_t) statbuf.st_mtime, (pg_time_t) statbuf.st_mtime, &checksum_ctx);
&checksum_ctx);
} }
/* /*
...@@ -1143,7 +1143,7 @@ sendFileWithContent(const char *filename, const char *content, ...@@ -1143,7 +1143,7 @@ sendFileWithContent(const char *filename, const char *content,
*/ */
int64 int64
sendTablespace(char *path, char *spcoid, bool sizeonly, sendTablespace(char *path, char *spcoid, bool sizeonly,
manifest_info *manifest) backup_manifest_info *manifest)
{ {
int64 size; int64 size;
char pathbuf[MAXPGPATH]; char pathbuf[MAXPGPATH];
...@@ -1196,7 +1196,8 @@ sendTablespace(char *path, char *spcoid, bool sizeonly, ...@@ -1196,7 +1196,8 @@ sendTablespace(char *path, char *spcoid, bool sizeonly,
*/ */
static int64 static int64
sendDir(const char *path, int basepathlen, bool sizeonly, List *tablespaces, sendDir(const char *path, int basepathlen, bool sizeonly, List *tablespaces,
bool sendtblspclinks, manifest_info *manifest, const char *spcoid) bool sendtblspclinks, backup_manifest_info *manifest,
const char *spcoid)
{ {
DIR *dir; DIR *dir;
struct dirent *de; struct dirent *de;
...@@ -1558,7 +1559,7 @@ is_checksummed_file(const char *fullpath, const char *filename) ...@@ -1558,7 +1559,7 @@ is_checksummed_file(const char *fullpath, const char *filename)
static bool static bool
sendFile(const char *readfilename, const char *tarfilename, sendFile(const char *readfilename, const char *tarfilename,
struct stat *statbuf, bool missing_ok, Oid dboid, struct stat *statbuf, bool missing_ok, Oid dboid,
manifest_info *manifest, const char *spcoid) backup_manifest_info *manifest, const char *spcoid)
{ {
FILE *fp; FILE *fp;
BlockNumber blkno = 0; BlockNumber blkno = 0;
...@@ -1810,8 +1811,8 @@ sendFile(const char *readfilename, const char *tarfilename, ...@@ -1810,8 +1811,8 @@ sendFile(const char *readfilename, const char *tarfilename,
total_checksum_failures += checksum_failures; total_checksum_failures += checksum_failures;
AddFileToManifest(manifest, spcoid, tarfilename, statbuf->st_size, AddFileToBackupManifest(manifest, spcoid, tarfilename, statbuf->st_size,
(pg_time_t) statbuf->st_mtime, &checksum_ctx); (pg_time_t) statbuf->st_mtime, &checksum_ctx);
return true; return true;
} }
......
...@@ -22,7 +22,7 @@ typedef enum manifest_option ...@@ -22,7 +22,7 @@ typedef enum manifest_option
MANIFEST_OPTION_YES, MANIFEST_OPTION_YES,
MANIFEST_OPTION_NO, MANIFEST_OPTION_NO,
MANIFEST_OPTION_FORCE_ENCODE MANIFEST_OPTION_FORCE_ENCODE
} manifest_option; } backup_manifest_option;
typedef struct manifest_info typedef struct manifest_info
{ {
...@@ -33,19 +33,20 @@ typedef struct manifest_info ...@@ -33,19 +33,20 @@ typedef struct manifest_info
bool force_encode; bool force_encode;
bool first_file; bool first_file;
bool still_checksumming; bool still_checksumming;
} manifest_info; } backup_manifest_info;
extern void InitializeManifest(manifest_info *manifest, extern void InitializeBackupManifest(backup_manifest_info *manifest,
manifest_option want_manifest, backup_manifest_option want_manifest,
pg_checksum_type manifest_checksum_type); pg_checksum_type manifest_checksum_type);
extern void AppendStringToManifest(manifest_info *manifest, char *s); extern void AddFileToBackupManifest(backup_manifest_info *manifest,
extern void AddFileToManifest(manifest_info *manifest, const char *spcoid, const char *spcoid,
const char *pathname, size_t size, const char *pathname, size_t size,
pg_time_t mtime, pg_time_t mtime,
pg_checksum_context *checksum_ctx); pg_checksum_context * checksum_ctx);
extern void AddWALInfoToManifest(manifest_info *manifest, XLogRecPtr startptr, extern void AddWALInfoToBackupManifest(backup_manifest_info *manifest,
TimeLineID starttli, XLogRecPtr endptr, XLogRecPtr startptr,
TimeLineID endtli); TimeLineID starttli, XLogRecPtr endptr,
extern void SendBackupManifest(manifest_info *manifest); TimeLineID endtli);
extern void SendBackupManifest(backup_manifest_info *manifest);
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment