You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-05 00:28:52 +02:00
Pass file by reference in manifestFileAdd().
Coverity complained that this pass by value was inefficient: CID 376402: Performance inefficiencies (PASS_BY_VALUE) Passing parameter file of type "ManifestFile" (size 136 bytes) by value. This was completely intentional since it gives us a copy of the struct that we can change without bothering the caller. However, updating fields is fine and may benefit the caller at some future data, and in any case does no harm now. And as usual it is easier not to fight with Coverity.
This commit is contained in:
@ -1935,7 +1935,7 @@ testRun(void)
|
||||
|
||||
manifestTargetAdd(manifestResume, &(ManifestTarget){.name = MANIFEST_TARGET_PGDATA_STR, .path = STRDEF("/pg")});
|
||||
manifestPathAdd(manifestResume, &(ManifestPath){.name = MANIFEST_TARGET_PGDATA_STR});
|
||||
manifestFileAdd(manifestResume, (ManifestFile){.name = STRDEF("pg_data/" PG_FILE_PGVERSION)});
|
||||
manifestFileAdd(manifestResume, &(ManifestFile){.name = STRDEF("pg_data/" PG_FILE_PGVERSION)});
|
||||
|
||||
manifestSave(
|
||||
manifestResume,
|
||||
@ -2057,7 +2057,7 @@ testRun(void)
|
||||
OBJ_NEW_BEGIN(Manifest)
|
||||
{
|
||||
manifest = manifestNewInternal();
|
||||
manifestFileAdd(manifest, (ManifestFile){.name = STRDEF("pg_data/test")});
|
||||
manifestFileAdd(manifest, &(ManifestFile){.name = STRDEF("pg_data/test")});
|
||||
}
|
||||
OBJ_NEW_END();
|
||||
|
||||
@ -2483,7 +2483,7 @@ testRun(void)
|
||||
HRN_STORAGE_PUT_EMPTY(
|
||||
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/size-mismatch.gz", strZ(resumeLabel))));
|
||||
manifestFileAdd(
|
||||
manifestResume, (ManifestFile){
|
||||
manifestResume, &(ManifestFile){
|
||||
.name = STRDEF("pg_data/size-mismatch"), .checksumSha1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||
.size = 33});
|
||||
|
||||
@ -2492,7 +2492,7 @@ testRun(void)
|
||||
HRN_STORAGE_PUT_EMPTY(
|
||||
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/time-mismatch.gz", strZ(resumeLabel))));
|
||||
manifestFileAdd(
|
||||
manifestResume, (ManifestFile){
|
||||
manifestResume, &(ManifestFile){
|
||||
.name = STRDEF("pg_data/time-mismatch"), .checksumSha1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", .size = 4,
|
||||
.timestamp = backupTimeStart - 1});
|
||||
|
||||
@ -2502,7 +2502,7 @@ testRun(void)
|
||||
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/zero-size.gz", strZ(resumeLabel))),
|
||||
"ZERO-SIZE");
|
||||
manifestFileAdd(
|
||||
manifestResume, (ManifestFile){.name = STRDEF("pg_data/zero-size"), .size = 0, .timestamp = backupTimeStart});
|
||||
manifestResume, &(ManifestFile){.name = STRDEF("pg_data/zero-size"), .size = 0, .timestamp = backupTimeStart});
|
||||
|
||||
// Path is not in manifest
|
||||
HRN_STORAGE_PATH_CREATE(
|
||||
@ -2663,7 +2663,7 @@ testRun(void)
|
||||
HRN_STORAGE_PUT_EMPTY(
|
||||
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/resume-ref.gz", strZ(resumeLabel))));
|
||||
manifestFileAdd(
|
||||
manifestResume, (ManifestFile){.name = STRDEF("pg_data/resume-ref"), .size = 0, .reference = STRDEF("BOGUS")});
|
||||
manifestResume, &(ManifestFile){.name = STRDEF("pg_data/resume-ref"), .size = 0, .reference = STRDEF("BOGUS")});
|
||||
|
||||
// Time does not match between cluster and resume manifest (but resume because time is in future so delta enabled). Note
|
||||
// also that the repo file is intenionally corrupt to generate a warning about corruption in the repository.
|
||||
@ -2671,7 +2671,7 @@ testRun(void)
|
||||
HRN_STORAGE_PUT_EMPTY(
|
||||
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/time-mismatch2.gz", strZ(resumeLabel))));
|
||||
manifestFileAdd(
|
||||
manifestResume, (ManifestFile){
|
||||
manifestResume, &(ManifestFile){
|
||||
.name = STRDEF("pg_data/time-mismatch2"), .checksumSha1 = "984816fd329622876e14907634264e6f332e9fb3", .size = 4,
|
||||
.timestamp = backupTimeStart});
|
||||
|
||||
|
Reference in New Issue
Block a user