1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-07-03 00:26:59 +02:00

Full abstraction of storage driver interface.

The external storage interfaces (Storage, StorageFileRead, etc.) have been stable for a while, but internally they were calling the posix driver functions directly.

Create driver interfaces for storage, fileRead, and fileWrite and remove all references to the posix driver outside storage/driver/posix (with the exception of a direct call to pathRemove() in Perl LibC).

Posix is still the only available driver so more adjustment may be needed, but this should represent the bulk of the changes.
This commit is contained in:
David Steele
2018-09-14 16:08:33 -04:00
parent aeb1fa3dfb
commit c49eaec776
37 changed files with 868 additions and 374 deletions

View File

@ -7,6 +7,7 @@ Test Archive Get Command
#include "common/harnessConfig.h"
#include "common/harnessFork.h"
#include "compress/gzipCompress.h"
#include "storage/driver/posix/storage.h"
/***********************************************************************************************************************************
Create test pg_control file
@ -29,7 +30,8 @@ testRun(void)
{
FUNCTION_HARNESS_VOID();
Storage *storageTest = storageNewP(strNew(testPath()), .write = true);
Storage *storageTest = storageDriverPosixInterface(
storageDriverPosixNew(strNew(testPath()), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, true, NULL));
// *****************************************************************************************************************************
if (testBegin("archiveGetCheck()"))