Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bareos/bareos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/filed/dir_cmd.cc')
-rw-r--r--core/src/filed/dir_cmd.cc258
1 files changed, 135 insertions, 123 deletions
diff --git a/core/src/filed/dir_cmd.cc b/core/src/filed/dir_cmd.cc
index a47ca928f..5a49052f5 100644
--- a/core/src/filed/dir_cmd.cc
+++ b/core/src/filed/dir_cmd.cc
@@ -36,7 +36,7 @@
#include "filed/evaluate_job_command.h"
#include "filed/heartbeat.h"
#include "filed/fileset.h"
-#include "filed/jcr_private.h"
+#include "filed/filed_jcr_impl.h"
#include "filed/socket_server.h"
#include "filed/restore.h"
#include "filed/verify.h"
@@ -68,7 +68,7 @@ extern bool restore_only_mode;
/**
* As Windows saves ACLs as part of the standard backup stream
- * we just pretend here that is has implicit acl support.
+ * we just pretend here that is has fd_implicit acl support.
*/
#if defined(HAVE_ACL) || defined(HAVE_WIN32)
const bool have_acl = true;
@@ -302,7 +302,7 @@ static inline void CleanupFileset(JobControlRecord* jcr)
findIncludeExcludeItem* incexe;
findFOPTS* fo;
- fileset = jcr->impl->ff->fileset;
+ fileset = jcr->fd_impl->ff->fileset;
if (fileset) {
// Delete FileSet Include lists
for (int i = 0; i < fileset->include_list.size(); i++) {
@@ -363,7 +363,7 @@ static inline void CleanupFileset(JobControlRecord* jcr)
fileset->exclude_list.destroy();
free(fileset);
}
- jcr->impl->ff->fileset = nullptr;
+ jcr->fd_impl->ff->fileset = nullptr;
}
static inline bool AreMaxConcurrentJobsExceeded()
@@ -382,7 +382,7 @@ static inline bool AreMaxConcurrentJobsExceeded()
static JobControlRecord* NewFiledJcr()
{
JobControlRecord* jcr = new_jcr(FiledFreeJcr);
- jcr->impl = new JobControlRecordPrivate;
+ jcr->fd_impl = new FiledJcrImpl;
return jcr;
}
@@ -392,19 +392,19 @@ JobControlRecord* create_new_director_session(BareosSocket* dir)
JobControlRecord* jcr{NewFiledJcr()};
jcr->dir_bsock = dir;
- jcr->impl->ff = init_find_files();
+ jcr->fd_impl->ff = init_find_files();
jcr->start_time = time(nullptr);
- jcr->impl->RunScripts = new alist<RunScript*>(10, not_owned_by_alist);
- jcr->impl->last_fname = GetPoolMemory(PM_FNAME);
- jcr->impl->last_fname[0] = 0;
+ jcr->fd_impl->RunScripts = new alist<RunScript*>(10, not_owned_by_alist);
+ jcr->fd_impl->last_fname = GetPoolMemory(PM_FNAME);
+ jcr->fd_impl->last_fname[0] = 0;
jcr->client_name = GetMemory(strlen(my_name) + 1);
PmStrcpy(jcr->client_name, my_name);
bstrncpy(jcr->Job, jobname, sizeof(jobname)); /* dummy */
- jcr->impl->crypto.pki_sign = me->pki_sign;
- jcr->impl->crypto.pki_encrypt = me->pki_encrypt;
- jcr->impl->crypto.pki_keypair = me->pki_keypair;
- jcr->impl->crypto.pki_signers = me->pki_signers;
- jcr->impl->crypto.pki_recipients = me->pki_recipients;
+ jcr->fd_impl->crypto.pki_sign = me->pki_sign;
+ jcr->fd_impl->crypto.pki_encrypt = me->pki_encrypt;
+ jcr->fd_impl->crypto.pki_keypair = me->pki_keypair;
+ jcr->fd_impl->crypto.pki_signers = me->pki_signers;
+ jcr->fd_impl->crypto.pki_recipients = me->pki_recipients;
if (dir) { dir->SetJcr(jcr); }
SetJcrInThreadSpecificData(jcr);
@@ -436,7 +436,7 @@ void* process_director_commands(JobControlRecord* jcr, BareosSocket* dir)
for (int i = 0; cmds[i].cmd; i++) {
if (bstrncmp(cmds[i].cmd, dir->msg, strlen(cmds[i].cmd))) {
found = true; /* indicate command found */
- if ((!cmds[i].monitoraccess) && (jcr->impl->director->monitor)) {
+ if ((!cmds[i].monitoraccess) && (jcr->fd_impl->director->monitor)) {
Dmsg1(100, "Command \"%s\" is invalid.\n", cmds[i].cmd);
dir->fsend(invalid_cmd);
dir->signal(BNET_EOD);
@@ -461,11 +461,12 @@ void* process_director_commands(JobControlRecord* jcr, BareosSocket* dir)
if (jcr->store_bsock) { jcr->store_bsock->signal(BNET_TERMINATE); }
// Run the after job
- if (jcr->impl->RunScripts) {
- RunScripts(jcr, jcr->impl->RunScripts, "ClientAfterJob",
- (jcr->impl->director && jcr->impl->director->allowed_script_dirs)
- ? jcr->impl->director->allowed_script_dirs
- : me->allowed_script_dirs);
+ if (jcr->fd_impl->RunScripts) {
+ RunScripts(
+ jcr, jcr->fd_impl->RunScripts, "ClientAfterJob",
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_script_dirs)
+ ? jcr->fd_impl->director->allowed_script_dirs
+ : me->allowed_script_dirs);
}
if (jcr->JobId) { /* send EndJob if running a job */
@@ -474,7 +475,7 @@ void* process_director_commands(JobControlRecord* jcr, BareosSocket* dir)
dir->fsend(EndJob, jcr->getJobStatus(), jcr->JobFiles,
edit_uint64(jcr->ReadBytes, ed1),
edit_uint64(jcr->JobBytes, ed2), jcr->JobErrors,
- jcr->impl->enable_vss, jcr->impl->crypto.pki_encrypt);
+ jcr->fd_impl->enable_vss, jcr->fd_impl->crypto.pki_encrypt);
Dmsg1(110, "End FD msg: %s\n", dir->msg);
}
@@ -486,7 +487,7 @@ void* process_director_commands(JobControlRecord* jcr, BareosSocket* dir)
dir->signal(BNET_TERMINATE);
FreePlugins(jcr); /* release instantiated plugins */
- FreeAndNullPoolMemory(jcr->impl->job_metadata);
+ FreeAndNullPoolMemory(jcr->fd_impl->job_metadata);
// Clean up fileset
CleanupFileset(jcr);
@@ -878,14 +879,14 @@ static bool EstimateCmd(JobControlRecord* jcr)
// See if we are allowed to run estimate cmds.
if (!ValidateCommand(
jcr, "estimate",
- (jcr->impl->director && jcr->impl->director->allowed_job_cmds)
- ? jcr->impl->director->allowed_job_cmds
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_job_cmds)
+ ? jcr->fd_impl->director->allowed_job_cmds
: me->allowed_job_cmds)) {
dir->fsend(_("2992 Bad estimate command.\n"));
return 0;
}
- if (sscanf(dir->msg, Estimatecmd, &jcr->impl->listing) != 1) {
+ if (sscanf(dir->msg, Estimatecmd, &jcr->fd_impl->listing) != 1) {
PmStrcpy(jcr->errmsg, dir->msg);
Jmsg(jcr, M_FATAL, 0, _("Bad estimate command: %s\n"), jcr->errmsg);
dir->fsend(_("2992 Bad estimate command.\n"));
@@ -894,7 +895,8 @@ static bool EstimateCmd(JobControlRecord* jcr)
MakeEstimate(jcr);
- dir->fsend(OKest, edit_uint64_with_commas(jcr->impl->num_files_examined, ed1),
+ dir->fsend(OKest,
+ edit_uint64_with_commas(jcr->fd_impl->num_files_examined, ed1),
edit_uint64_with_commas(jcr->JobBytes, ed2));
dir->signal(BNET_EOD);
@@ -990,10 +992,11 @@ static bool RunbeforenowCmd(JobControlRecord* jcr)
{
BareosSocket* dir = jcr->dir_bsock;
- RunScripts(jcr, jcr->impl->RunScripts, "ClientBeforeJob",
- (jcr->impl->director && jcr->impl->director->allowed_script_dirs)
- ? jcr->impl->director->allowed_script_dirs
- : me->allowed_script_dirs);
+ RunScripts(
+ jcr, jcr->fd_impl->RunScripts, "ClientBeforeJob",
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_script_dirs)
+ ? jcr->fd_impl->director->allowed_script_dirs
+ : me->allowed_script_dirs);
if (JobCanceled(jcr)) {
dir->fsend(FailedRunScript);
@@ -1037,7 +1040,7 @@ static bool RunafterCmd(JobControlRecord* jcr)
script->when = SCRIPT_After;
FreeMemory(cmd);
- jcr->impl->RunScripts->append(script);
+ jcr->fd_impl->RunScripts->append(script);
return dir->fsend(OKRunAfter);
}
@@ -1052,8 +1055,8 @@ static bool RunscriptCmd(JobControlRecord* jcr)
// See if we are allowed to run runscript cmds.
if (!ValidateCommand(
jcr, "runscript",
- (jcr->impl->director && jcr->impl->director->allowed_job_cmds)
- ? jcr->impl->director->allowed_job_cmds
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_job_cmds)
+ ? jcr->fd_impl->director->allowed_job_cmds
: me->allowed_job_cmds)) {
dir->fsend(FailedRunScript);
return 0;
@@ -1085,7 +1088,7 @@ static bool RunscriptCmd(JobControlRecord* jcr)
cmd->SetCommand(msg);
cmd->Debug();
- jcr->impl->RunScripts->append(cmd);
+ jcr->fd_impl->RunScripts->append(cmd);
FreePoolMemory(msg);
@@ -1218,7 +1221,7 @@ static bool RestoreObjectCmd(JobControlRecord* jcr)
// We still need to do this to detect a vss restore
if (bstrcmp(rop.object_name, "job_metadata.xml")) {
Dmsg0(100, "got job metadata\n");
- jcr->impl->got_metadata = true;
+ jcr->fd_impl->got_metadata = true;
}
GeneratePluginEvent(jcr, bEventRestoreObject, (void*)&rop);
@@ -1244,7 +1247,7 @@ static inline int CountIncludeListFileEntries(JobControlRecord* jcr)
findFILESET* fileset;
findIncludeExcludeItem* incexe;
- fileset = jcr->impl->ff->fileset;
+ fileset = jcr->fd_impl->ff->fileset;
if (fileset) {
for (int i = 0; i < fileset->include_list.size(); i++) {
incexe = (findIncludeExcludeItem*)fileset->include_list.get(i);
@@ -1278,13 +1281,13 @@ static bool FilesetCmd(JobControlRecord* jcr)
if (!TermFileset(jcr)) { return false; }
#if defined(WIN32_VSS)
- jcr->impl->enable_vss
+ jcr->fd_impl->enable_vss
= (vss && (CountIncludeListFileEntries(jcr) > 0)) ? true : false;
#endif
retval = dir->fsend(OKinc);
GeneratePluginEvent(jcr, bEventEndFileSet);
- CheckIncludeListShadowing(jcr, jcr->impl->ff->fileset);
+ CheckIncludeListShadowing(jcr, jcr->fd_impl->ff->fileset);
return retval;
}
@@ -1389,7 +1392,7 @@ static bool LevelCmd(JobControlRecord* jcr)
}
if (sscanf(dir->msg, "level = since_utime %s mtime_only=%d prev_job=%127s",
- buf, &mtime_only, jcr->impl->PrevJob)
+ buf, &mtime_only, jcr->fd_impl->PrevJob)
!= 3) {
if (sscanf(dir->msg, "level = since_utime %s mtime_only=%d", buf,
&mtime_only)
@@ -1399,7 +1402,8 @@ static bool LevelCmd(JobControlRecord* jcr)
}
since_time = str_to_uint64(buf); /* this is the since time */
- Dmsg2(100, "since_time=%lld prev_job=%s\n", since_time, jcr->impl->PrevJob);
+ Dmsg2(100, "since_time=%lld prev_job=%s\n", since_time,
+ jcr->fd_impl->PrevJob);
/*
* Sync clocks by polling him for the time. We take 10 samples of his time
* throwing out the first two.
@@ -1445,9 +1449,11 @@ static bool LevelCmd(JobControlRecord* jcr)
dir->signal(BNET_EOD);
Dmsg2(100, "adj=%lld since_time=%lld\n", adj, since_time);
- jcr->impl->incremental = true; /* set incremental or decremental backup */
- jcr->impl->since_time = since_time; /* set since time */
- GeneratePluginEvent(jcr, bEventSince, (void*)(time_t)jcr->impl->since_time);
+ jcr->fd_impl->incremental
+ = true; /* set incremental or decremental backup */
+ jcr->fd_impl->since_time = since_time; /* set since time */
+ GeneratePluginEvent(jcr, bEventSince,
+ (void*)(time_t)jcr->fd_impl->since_time);
} else {
Jmsg1(jcr, M_FATAL, 0, _("Unknown backup level: %s\n"), level);
FreeMemory(level);
@@ -1479,8 +1485,9 @@ static bool SessionCmd(JobControlRecord* jcr)
Dmsg1(100, "SessionCmd: %s", dir->msg);
if (sscanf(dir->msg, sessioncmd, jcr->VolumeName, &jcr->VolSessionId,
- &jcr->VolSessionTime, &jcr->impl->StartFile, &jcr->impl->EndFile,
- &jcr->impl->StartBlock, &jcr->impl->EndBlock)
+ &jcr->VolSessionTime, &jcr->fd_impl->StartFile,
+ &jcr->fd_impl->EndFile, &jcr->fd_impl->StartBlock,
+ &jcr->fd_impl->EndBlock)
!= 7) {
PmStrcpy(jcr->errmsg, dir->msg);
Jmsg(jcr, M_FATAL, 0, _("Bad session command: %s\n"), jcr->errmsg);
@@ -1516,7 +1523,7 @@ static void SetStorageAuthKeyAndTlsPolicy(JobControlRecord* jcr,
* restore
*/
Dmsg0(5, "set multi_restore=true\n");
- jcr->impl->multi_restore = true;
+ jcr->fd_impl->multi_restore = true;
free(jcr->sd_auth_key);
}
@@ -1559,8 +1566,8 @@ static bool StorageCmd(JobControlRecord* jcr)
// TODO: see if we put limit on restore and backup...
if (!jcr->max_bandwidth) {
- if (jcr->impl->director->max_bandwidth_per_job) {
- jcr->max_bandwidth = jcr->impl->director->max_bandwidth_per_job;
+ if (jcr->fd_impl->director->max_bandwidth_per_job) {
+ jcr->max_bandwidth = jcr->fd_impl->director->max_bandwidth_per_job;
} else if (me->max_bandwidth_per_job) {
jcr->max_bandwidth = me->max_bandwidth_per_job;
}
@@ -1622,7 +1629,7 @@ static void LogFlagStatus(JobControlRecord* jcr,
int flag,
const char* flag_text)
{
- findFILESET* fileset = jcr->impl->ff->fileset;
+ findFILESET* fileset = jcr->fd_impl->ff->fileset;
bool found = false;
if (fileset) {
for (int i = 0; i < fileset->include_list.size() && !found; i++) {
@@ -1656,7 +1663,7 @@ static inline void ClearFlagInFileset(JobControlRecord* jcr,
findFILESET* fileset;
bool cleared_flag = false;
- fileset = jcr->impl->ff->fileset;
+ fileset = jcr->fd_impl->ff->fileset;
if (fileset) {
for (int i = 0; i < fileset->include_list.size(); i++) {
findIncludeExcludeItem* incexe
@@ -1686,7 +1693,7 @@ static inline void ClearCompressionFlagInFileset(JobControlRecord* jcr)
{
findFILESET* fileset;
- fileset = jcr->impl->ff->fileset;
+ fileset = jcr->fd_impl->ff->fileset;
if (fileset) {
for (int i = 0; i < fileset->include_list.size(); i++) {
findIncludeExcludeItem* incexe
@@ -1742,7 +1749,7 @@ static inline bool GetWantedCryptoCipher(JobControlRecord* jcr,
* Walk the fileset and check for the FO_FORCE_ENCRYPT flag and any forced
* crypto cipher.
*/
- fileset = jcr->impl->ff->fileset;
+ fileset = jcr->fd_impl->ff->fileset;
if (fileset) {
for (int i = 0; i < fileset->include_list.size(); i++) {
findIncludeExcludeItem* incexe
@@ -1762,7 +1769,7 @@ static inline bool GetWantedCryptoCipher(JobControlRecord* jcr,
}
// See if pki_encrypt is already set for this Job.
- if (!jcr->impl->crypto.pki_encrypt) {
+ if (!jcr->fd_impl->crypto.pki_encrypt) {
if (!me->pki_keypair_file) {
Jmsg(jcr, M_FATAL, 0,
_("Fileset contains cipher settings but PKI Key Pair is not "
@@ -1771,8 +1778,8 @@ static inline bool GetWantedCryptoCipher(JobControlRecord* jcr,
}
// Enable encryption and signing for this Job.
- jcr->impl->crypto.pki_sign = true;
- jcr->impl->crypto.pki_encrypt = true;
+ jcr->fd_impl->crypto.pki_sign = true;
+ jcr->fd_impl->crypto.pki_encrypt = true;
}
wanted_cipher = (crypto_cipher_t)fo->Encryption_cipher;
@@ -1794,7 +1801,7 @@ static inline bool GetWantedCryptoCipher(JobControlRecord* jcr,
* See if FO_FORCE_ENCRYPT is set and encryption is not configured for the
* filed.
*/
- if (force_encrypt && !jcr->impl->crypto.pki_encrypt) {
+ if (force_encrypt && !jcr->fd_impl->crypto.pki_encrypt) {
Jmsg(jcr, M_FATAL, 0,
_("Fileset forces encryption but encryption is not configured\n"));
return false;
@@ -1829,14 +1836,14 @@ static bool BackupCmd(JobControlRecord* jcr)
// See if we are allowed to run backup cmds.
if (!ValidateCommand(
jcr, "backup",
- (jcr->impl->director && jcr->impl->director->allowed_job_cmds)
- ? jcr->impl->director->allowed_job_cmds
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_job_cmds)
+ ? jcr->fd_impl->director->allowed_job_cmds
: me->allowed_job_cmds)) {
goto cleanup;
}
#if defined(WIN32_VSS)
- if (jcr->impl->enable_vss) { VSSInit(jcr); }
+ if (jcr->fd_impl->enable_vss) { VSSInit(jcr); }
#endif
if (sscanf(dir->msg, "backup FileIndex=%ld\n", &FileIndex) == 1) {
@@ -1880,7 +1887,7 @@ static bool BackupCmd(JobControlRecord* jcr)
jcr->setJobStatusWithPriorityCheck(JS_Blocked);
jcr->setJobType(JT_BACKUP);
- Dmsg1(100, "begin backup ff=%p\n", jcr->impl->ff);
+ Dmsg1(100, "begin backup ff=%p\n", jcr->fd_impl->ff);
if (sd == nullptr) {
Jmsg(jcr, M_FATAL, 0, _("Cannot contact Storage daemon\n"));
@@ -1898,18 +1905,18 @@ static bool BackupCmd(JobControlRecord* jcr)
// Expect to receive back the Ticket number
if (BgetMsg(sd) >= 0) {
Dmsg1(110, "<stored: %s", sd->msg);
- if (sscanf(sd->msg, OK_open, &jcr->impl->Ticket) != 1) {
+ if (sscanf(sd->msg, OK_open, &jcr->fd_impl->Ticket) != 1) {
Jmsg(jcr, M_FATAL, 0, _("Bad response to append open: %s\n"), sd->msg);
goto cleanup;
}
- Dmsg1(110, "Got Ticket=%d\n", jcr->impl->Ticket);
+ Dmsg1(110, "Got Ticket=%d\n", jcr->fd_impl->Ticket);
} else {
Jmsg(jcr, M_FATAL, 0, _("Bad response from stored to open command\n"));
goto cleanup;
}
// Send Append data command to Storage daemon
- sd->fsend(append_data, jcr->impl->Ticket);
+ sd->fsend(append_data, jcr->fd_impl->Ticket);
Dmsg1(110, ">stored: %s", sd->msg);
// Expect to get OK data
@@ -1923,8 +1930,8 @@ static bool BackupCmd(JobControlRecord* jcr)
#if defined(WIN32_VSS)
// START VSS ON WIN32
- if (jcr->impl->pVSSClient) {
- if (jcr->impl->pVSSClient->InitializeForBackup(jcr)) {
+ if (jcr->fd_impl->pVSSClient) {
+ if (jcr->fd_impl->pVSSClient->InitializeForBackup(jcr)) {
int drive_count;
char szWinDriveLetters[27];
bool onefs_disabled;
@@ -1937,19 +1944,19 @@ static bool BackupCmd(JobControlRecord* jcr)
// Plugin driver can return drive letters
GeneratePluginEvent(jcr, bEventVssPrepareSnapshot, szWinDriveLetters);
- drive_count
- = get_win32_driveletters(jcr->impl->ff->fileset, szWinDriveLetters);
+ drive_count = get_win32_driveletters(jcr->fd_impl->ff->fileset,
+ szWinDriveLetters);
- onefs_disabled = win32_onefs_is_disabled(jcr->impl->ff->fileset);
+ onefs_disabled = win32_onefs_is_disabled(jcr->fd_impl->ff->fileset);
if (drive_count > 0) {
Jmsg(jcr, M_INFO, 0,
_("Generate VSS snapshots. Driver=\"%s\", Drive(s)=\"%s\"\n"),
- jcr->impl->pVSSClient->GetDriverName(),
+ jcr->fd_impl->pVSSClient->GetDriverName(),
(drive_count) ? szWinDriveLetters : "None");
- if (!jcr->impl->pVSSClient->CreateSnapshots(szWinDriveLetters,
- onefs_disabled)) {
+ if (!jcr->fd_impl->pVSSClient->CreateSnapshots(szWinDriveLetters,
+ onefs_disabled)) {
BErrNo be;
Jmsg(jcr, M_FATAL, 0,
_("CreateSGenerate VSS snapshots failed. ERR=%s\n"),
@@ -1958,7 +1965,7 @@ static bool BackupCmd(JobControlRecord* jcr)
GeneratePluginEvent(jcr, bEventVssCreateSnapshots);
// Inform about VMPs if we have them
- jcr->impl->pVSSClient->ShowVolumeMountPointStats(jcr);
+ jcr->fd_impl->pVSSClient->ShowVolumeMountPointStats(jcr);
// Tell user if snapshot creation of a specific drive failed
for (int i = 0; i < (int)strlen(szWinDriveLetters); i++) {
@@ -1970,10 +1977,11 @@ static bool BackupCmd(JobControlRecord* jcr)
}
// Inform user about writer states
- for (size_t i = 0; i < jcr->impl->pVSSClient->GetWriterCount(); i++) {
- if (jcr->impl->pVSSClient->GetWriterState(i) < 1) {
+ for (size_t i = 0; i < jcr->fd_impl->pVSSClient->GetWriterCount();
+ i++) {
+ if (jcr->fd_impl->pVSSClient->GetWriterState(i) < 1) {
Jmsg(jcr, M_INFO, 0, _("VSS Writer (PrepareForBackup): %s\n"),
- jcr->impl->pVSSClient->GetWriterInfo(i));
+ jcr->fd_impl->pVSSClient->GetWriterInfo(i));
}
}
}
@@ -1989,15 +1997,16 @@ static bool BackupCmd(JobControlRecord* jcr)
be.bstrerror());
}
- RunScripts(jcr, jcr->impl->RunScripts, "ClientAfterVSS",
- (jcr->impl->director && jcr->impl->director->allowed_script_dirs)
- ? jcr->impl->director->allowed_script_dirs
- : me->allowed_script_dirs);
+ RunScripts(
+ jcr, jcr->fd_impl->RunScripts, "ClientAfterVSS",
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_script_dirs)
+ ? jcr->fd_impl->director->allowed_script_dirs
+ : me->allowed_script_dirs);
}
#endif
// Send Files to Storage daemon
- Dmsg1(110, "begin blast ff=%p\n", (FindFilesPacket*)jcr->impl->ff);
+ Dmsg1(110, "begin blast ff=%p\n", (FindFilesPacket*)jcr->fd_impl->ff);
if (!BlastDataToStorageDaemon(jcr, nullptr, cipher)) {
jcr->setJobStatusWithPriorityCheck(JS_ErrorTerminated);
BnetSuppressErrorMessages(sd, 1);
@@ -2016,7 +2025,7 @@ static bool BackupCmd(JobControlRecord* jcr)
}
// Send Append End Data to Storage daemon
- sd->fsend(append_end, jcr->impl->Ticket);
+ sd->fsend(append_end, jcr->fd_impl->Ticket);
/* Get end OK */
if (!response(jcr, sd, OK_end, "Append End")) {
jcr->setJobStatusWithPriorityCheck(JS_ErrorTerminated);
@@ -2024,7 +2033,7 @@ static bool BackupCmd(JobControlRecord* jcr)
}
// Send Append Close to Storage daemon
- sd->fsend(append_close, jcr->impl->Ticket);
+ sd->fsend(append_close, jcr->fd_impl->Ticket);
while (BgetMsg(sd) >= 0) { /* stop on signal or error */
if (sscanf(sd->msg, OK_close, &SDJobStatus) == 1) {
ok = 1;
@@ -2043,7 +2052,9 @@ static bool BackupCmd(JobControlRecord* jcr)
cleanup:
#if defined(WIN32_VSS)
- if (jcr->impl->pVSSClient) { jcr->impl->pVSSClient->DestroyWriterInfo(); }
+ if (jcr->fd_impl->pVSSClient) {
+ jcr->fd_impl->pVSSClient->DestroyWriterInfo();
+ }
#endif
GeneratePluginEvent(jcr, bEventEndBackupJob);
@@ -2063,8 +2074,8 @@ static bool VerifyCmd(JobControlRecord* jcr)
// See if we are allowed to run verify cmds.
if (!ValidateCommand(
jcr, "verify",
- (jcr->impl->director && jcr->impl->director->allowed_job_cmds)
- ? jcr->impl->director->allowed_job_cmds
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_job_cmds)
+ ? jcr->fd_impl->director->allowed_job_cmds
: me->allowed_job_cmds)) {
dir->fsend(_("2994 Bad verify command: %s\n"), dir->msg);
return 0;
@@ -2109,7 +2120,7 @@ static bool VerifyCmd(JobControlRecord* jcr)
DoVerifyVolume(jcr);
StopDirHeartbeat(jcr);
// Send Close session command to Storage daemon
- sd->fsend(read_close, jcr->impl->Ticket);
+ sd->fsend(read_close, jcr->fd_impl->Ticket);
Dmsg1(130, "filed>stored: %s", sd->msg);
/* ****FIXME**** check response */
@@ -2185,7 +2196,7 @@ static BareosSocket* connect_to_director(JobControlRecord* jcr,
director_socket->recv();
ParseOkVersion(director_socket->msg);
- jcr->impl->director = dir_res;
+ jcr->fd_impl->director = dir_res;
return director_socket.release();
}
@@ -2215,8 +2226,8 @@ static bool RestoreCmd(JobControlRecord* jcr)
// See if we are allowed to run restore cmds.
if (!ValidateCommand(
jcr, "restore",
- (jcr->impl->director && jcr->impl->director->allowed_job_cmds)
- ? jcr->impl->director->allowed_job_cmds
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_job_cmds)
+ ? jcr->fd_impl->director->allowed_job_cmds
: me->allowed_job_cmds)) {
return 0;
}
@@ -2245,9 +2256,9 @@ static bool RestoreCmd(JobControlRecord* jcr)
#if defined(WIN32_VSS)
// No need to enable VSS for restore if we do not have plugin data to restore
- jcr->impl->enable_vss = jcr->impl->got_metadata;
+ jcr->fd_impl->enable_vss = jcr->fd_impl->got_metadata;
- if (jcr->impl->enable_vss) { VSSInit(jcr); }
+ if (jcr->fd_impl->enable_vss) { VSSInit(jcr); }
#endif
// Turn / into nothing
@@ -2271,7 +2282,7 @@ static bool RestoreCmd(JobControlRecord* jcr)
}
FreePoolMemory(args);
- jcr->impl->replace = replace;
+ jcr->fd_impl->replace = replace;
jcr->prefix_links = prefix_links;
dir->fsend(OKrestore);
@@ -2292,8 +2303,8 @@ static bool RestoreCmd(JobControlRecord* jcr)
#if defined(WIN32_VSS)
// START VSS ON WIN32
- if (jcr->impl->pVSSClient) {
- if (!jcr->impl->pVSSClient->InitializeForRestore(jcr)) {
+ if (jcr->fd_impl->pVSSClient) {
+ if (!jcr->fd_impl->pVSSClient->InitializeForRestore(jcr)) {
BErrNo be;
Jmsg(jcr, M_WARNING, 0,
_("VSS was not initialized properly. VSS support is disabled. "
@@ -2303,10 +2314,11 @@ static bool RestoreCmd(JobControlRecord* jcr)
GeneratePluginEvent(jcr, bEventVssRestoreLoadComponentMetadata);
- RunScripts(jcr, jcr->impl->RunScripts, "ClientAfterVSS",
- (jcr->impl->director && jcr->impl->director->allowed_script_dirs)
- ? jcr->impl->director->allowed_script_dirs
- : me->allowed_script_dirs);
+ RunScripts(
+ jcr, jcr->fd_impl->RunScripts, "ClientAfterVSS",
+ (jcr->fd_impl->director && jcr->fd_impl->director->allowed_script_dirs)
+ ? jcr->fd_impl->director->allowed_script_dirs
+ : me->allowed_script_dirs);
}
#endif
@@ -2320,7 +2332,7 @@ static bool RestoreCmd(JobControlRecord* jcr)
}
// Send Close session command to Storage daemon
- sd->fsend(read_close, jcr->impl->Ticket);
+ sd->fsend(read_close, jcr->fd_impl->Ticket);
Dmsg1(100, "filed>stored: %s", sd->msg);
BgetMsg(sd); /* get OK */
@@ -2333,24 +2345,24 @@ static bool RestoreCmd(JobControlRecord* jcr)
* STOP VSS ON WIN32
* Tell vss to close the restore session
*/
- if (jcr->impl->pVSSClient) {
+ if (jcr->fd_impl->pVSSClient) {
Dmsg0(100, "About to call CloseRestore\n");
GeneratePluginEvent(jcr, bEventVssCloseRestore);
Dmsg0(100, "Really about to call CloseRestore\n");
- if (jcr->impl->pVSSClient->CloseRestore()) {
+ if (jcr->fd_impl->pVSSClient->CloseRestore()) {
Dmsg0(100, "CloseRestore success\n");
// Inform user about writer states
- for (size_t i = 0; i < jcr->impl->pVSSClient->GetWriterCount(); i++) {
+ for (size_t i = 0; i < jcr->fd_impl->pVSSClient->GetWriterCount(); i++) {
int msg_type = M_INFO;
- if (jcr->impl->pVSSClient->GetWriterState(i) < 1) {
+ if (jcr->fd_impl->pVSSClient->GetWriterState(i) < 1) {
msg_type = M_WARNING;
jcr->JobErrors++;
}
Jmsg(jcr, msg_type, 0, _("VSS Writer (RestoreComplete): %s\n"),
- jcr->impl->pVSSClient->GetWriterInfo(i));
+ jcr->fd_impl->pVSSClient->GetWriterInfo(i));
}
} else {
Dmsg1(100, "CloseRestore fail - %08x\n", errno);
@@ -2367,7 +2379,7 @@ bail_out:
Dmsg0(100, "Done in job.c\n");
- if (jcr->impl->multi_restore) {
+ if (jcr->fd_impl->multi_restore) {
Dmsg0(100, OKstoreend);
dir->fsend(OKstoreend);
retval = true; /* we continue the loop, waiting for next part */
@@ -2400,29 +2412,29 @@ static bool OpenSdReadSession(JobControlRecord* jcr)
return false;
}
Dmsg4(120, "VolSessId=%ld VolsessT=%ld SF=%ld EF=%ld\n", jcr->VolSessionId,
- jcr->VolSessionTime, jcr->impl->StartFile, jcr->impl->EndFile);
+ jcr->VolSessionTime, jcr->fd_impl->StartFile, jcr->fd_impl->EndFile);
Dmsg2(120, "JobId=%d vol=%s\n", jcr->JobId, "DummyVolume");
// Open Read Session with Storage daemon
sd->fsend(read_open, "DummyVolume", jcr->VolSessionId, jcr->VolSessionTime,
- jcr->impl->StartFile, jcr->impl->EndFile, jcr->impl->StartBlock,
- jcr->impl->EndBlock);
+ jcr->fd_impl->StartFile, jcr->fd_impl->EndFile,
+ jcr->fd_impl->StartBlock, jcr->fd_impl->EndBlock);
Dmsg1(110, ">stored: %s", sd->msg);
// Get ticket number
if (BgetMsg(sd) >= 0) {
Dmsg1(110, "filed<stored: %s", sd->msg);
- if (sscanf(sd->msg, OK_open, &jcr->impl->Ticket) != 1) {
+ if (sscanf(sd->msg, OK_open, &jcr->fd_impl->Ticket) != 1) {
Jmsg(jcr, M_FATAL, 0, _("Bad response to SD read open: %s\n"), sd->msg);
return false;
}
- Dmsg1(110, "filed: got Ticket=%d\n", jcr->impl->Ticket);
+ Dmsg1(110, "filed: got Ticket=%d\n", jcr->fd_impl->Ticket);
} else {
Jmsg(jcr, M_FATAL, 0, _("Bad response from stored to read open command\n"));
return false;
}
// Start read of data with Storage daemon
- sd->fsend(read_data, jcr->impl->Ticket);
+ sd->fsend(read_data, jcr->fd_impl->Ticket);
Dmsg1(110, ">stored: %s", sd->msg);
// Get OK data
@@ -2435,9 +2447,9 @@ static bool OpenSdReadSession(JobControlRecord* jcr)
static void FiledFreeJcr(JobControlRecord* jcr)
{
#if defined(WIN32_VSS)
- if (jcr->impl->pVSSClient) {
- delete jcr->impl->pVSSClient;
- jcr->impl->pVSSClient = nullptr;
+ if (jcr->fd_impl->pVSSClient) {
+ delete jcr->fd_impl->pVSSClient;
+ jcr->fd_impl->pVSSClient = nullptr;
}
#endif
@@ -2453,29 +2465,29 @@ static void FiledFreeJcr(JobControlRecord* jcr)
jcr->dir_bsock = nullptr;
}
- if (jcr->impl->last_fname) { FreePoolMemory(jcr->impl->last_fname); }
+ if (jcr->fd_impl->last_fname) { FreePoolMemory(jcr->fd_impl->last_fname); }
FreeBootstrap(jcr);
- FreeRunscripts(jcr->impl->RunScripts);
- delete jcr->impl->RunScripts;
- jcr->impl->RunScripts = nullptr;
+ FreeRunscripts(jcr->fd_impl->RunScripts);
+ delete jcr->fd_impl->RunScripts;
+ jcr->fd_impl->RunScripts = nullptr;
if (jcr->path_list) {
FreePathList(jcr->path_list);
jcr->path_list = nullptr;
}
- TermFindFiles(jcr->impl->ff);
- jcr->impl->ff = nullptr;
+ TermFindFiles(jcr->fd_impl->ff);
+ jcr->fd_impl->ff = nullptr;
if (jcr->JobId != 0) {
WriteStateFile(me->working_directory, "bareos-fd",
GetFirstPortHostOrder(me->FDaddrs));
}
- if (jcr->impl) {
- delete jcr->impl;
- jcr->impl = nullptr;
+ if (jcr->fd_impl) {
+ delete jcr->fd_impl;
+ jcr->fd_impl = nullptr;
}
return;