diff options
author | Alaa Eddine Elamri <alaeddine.elamri@bareos.com> | 2022-10-28 14:38:46 +0300 |
---|---|---|
committer | Andreas Rogge <andreas.rogge@bareos.com> | 2022-11-07 19:16:30 +0300 |
commit | c94a9a9ff09cc7c398e3621f0314573c9fc44ef6 (patch) | |
tree | 2d35a0c5c7599dae85ce694842fa7a77cc874bd6 | |
parent | d4c36b692473d72074abb014e9ef4d3054b403f0 (diff) |
make JobStatus private and replace accesses with setter and getter
31 files changed, 90 insertions, 80 deletions
diff --git a/core/src/cats/sql_create.cc b/core/src/cats/sql_create.cc index 90c836b49..dea5346e9 100644 --- a/core/src/cats/sql_create.cc +++ b/core/src/cats/sql_create.cc @@ -802,7 +802,7 @@ bool BareosDb::CreateFilesetRecord(JobControlRecord* jcr, FileSetDbRecord* fsr) bool BareosDb::WriteBatchFileRecords(JobControlRecord* jcr) { bool retval = false; - int JobStatus = jcr->JobStatus; + int JobStatus = jcr->getJobStatus(); if (!jcr->batch_started) { /* no files to backup ? */ Dmsg0(50, "db_create_file_record : no files\n"); @@ -811,7 +811,7 @@ bool BareosDb::WriteBatchFileRecords(JobControlRecord* jcr) Dmsg1(50, "db_create_file_record changes=%u\n", changes); - jcr->JobStatus = JS_AttrInserting; + jcr->setJobStatus(JS_AttrInserting); Jmsg(jcr, M_INFO, 0, "Insert of attributes batch table with %u entries start\n", @@ -850,7 +850,7 @@ bool BareosDb::WriteBatchFileRecords(JobControlRecord* jcr) } /* clang-format on */ - jcr->JobStatus = JobStatus; /* reset entry status */ + jcr->setJobStatus(JobStatus); /* reset entry status */ Jmsg(jcr, M_INFO, 0, "Insert of attributes batch table done\n"); retval = true; diff --git a/core/src/cats/sql_update.cc b/core/src/cats/sql_update.cc index 55f558a7d..df1826a6c 100644 --- a/core/src/cats/sql_update.cc +++ b/core/src/cats/sql_update.cc @@ -102,7 +102,7 @@ bool BareosDb::UpdateJobStartRecord(JobControlRecord* jcr, JobDbRecord* jr) "UPDATE Job SET JobStatus='%c',Level='%c',StartTime='%s'," "ClientId=%s,JobTDate=%s,PoolId=%s,FileSetId=%s,VolSessionId=%lu," "VolSessionTime=%lu WHERE JobId=%s", - (char)(jcr->JobStatus), (char)(jr->JobLevel), dt, + (char)(jcr->getJobStatus()), (char)(jr->JobLevel), dt, edit_int64(jr->ClientId, ed1), edit_uint64(JobTDate, ed2), edit_int64(jr->PoolId, ed3), edit_int64(jr->FileSetId, ed4), jcr->VolSessionId, jcr->VolSessionTime, edit_int64(jr->JobId, ed5)); diff --git a/core/src/dird/admin.cc b/core/src/dird/admin.cc index 8ce010cd9..d51e60a36 100644 --- a/core/src/dird/admin.cc +++ b/core/src/dird/admin.cc @@ -84,7 +84,7 @@ void AdminCleanup(JobControlRecord* jcr, int TermCode) } msg_type = M_INFO; /* by default INFO message */ - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Admin OK"); break; diff --git a/core/src/dird/archive.cc b/core/src/dird/archive.cc index a90751499..dad5ac6ab 100644 --- a/core/src/dird/archive.cc +++ b/core/src/dird/archive.cc @@ -83,7 +83,7 @@ void ArchiveCleanup(JobControlRecord* jcr, int TermCode) } msg_type = M_INFO; /* by default INFO message */ - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Archive OK"); break; diff --git a/core/src/dird/backup.cc b/core/src/dird/backup.cc index d004f691a..8ab09913a 100644 --- a/core/src/dird/backup.cc +++ b/core/src/dird/backup.cc @@ -657,7 +657,7 @@ int WaitForJobTermination(JobControlRecord* jcr, int timeout) == 7) { fd_ok = true; jcr->setJobStatusWithPriorityCheck(jcr->impl->FDJobStatus); - Dmsg1(100, "FDStatus=%c\n", (char)jcr->JobStatus); + Dmsg1(100, "FDStatus=%c\n", (char)jcr->getJobStatus()); } else { Jmsg(jcr, M_WARNING, 0, _("Unexpected Client Job message: %s\n"), fd->msg); @@ -717,7 +717,7 @@ int WaitForJobTermination(JobControlRecord* jcr, int timeout) if (!fd_ok || IsBnetError(fd)) { /* if fd not set, that use !fd_ok */ jcr->impl->FDJobStatus = JS_ErrorTerminated; } - if (jcr->JobStatus != JS_Terminated) { return jcr->JobStatus; } + if (jcr->getJobStatus() != JS_Terminated) { return jcr->getJobStatus(); } if (jcr->impl->FDJobStatus != JS_Terminated) { return jcr->impl->FDJobStatus; } @@ -757,7 +757,7 @@ void NativeBackupCleanup(JobControlRecord* jcr, int TermCode) UpdateBootstrapFile(jcr); - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Backup OK"); break; diff --git a/core/src/dird/consolidate.cc b/core/src/dird/consolidate.cc index 9216c080d..4fdedbb23 100644 --- a/core/src/dird/consolidate.cc +++ b/core/src/dird/consolidate.cc @@ -347,7 +347,7 @@ void ConsolidateCleanup(JobControlRecord* jcr, int TermCode) } msg_type = M_INFO; /* by default INFO message */ - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Consolidate OK"); break; diff --git a/core/src/dird/dir_plugins.cc b/core/src/dird/dir_plugins.cc index 6cd0bc640..183938919 100644 --- a/core/src/dird/dir_plugins.cc +++ b/core/src/dird/dir_plugins.cc @@ -642,7 +642,7 @@ static bRC bareosGetValue(PluginContext* ctx, brDirVariable var, void* value) NPRT(*((char**)value))); break; case bDirVarJobStatus: - *((int*)value) = jcr->JobStatus; + *((int*)value) = jcr->getJobStatus(); Dmsg1(debuglevel, "dir-plugin: return bDirVarJobStatus=%c\n", jcr->getJobStatus()); break; diff --git a/core/src/dird/jcr_private.h b/core/src/dird/jcr_private.h index 810ea58d9..00f22b50b 100644 --- a/core/src/dird/jcr_private.h +++ b/core/src/dird/jcr_private.h @@ -45,17 +45,19 @@ namespace storagedaemon { struct BootStrapRecord; } // namespace storagedaemon -#define JobWaiting(jcr) \ - (jcr->job_started \ - && (jcr->JobStatus == JS_WaitFD || jcr->JobStatus == JS_WaitSD \ - || jcr->JobStatus == JS_WaitMedia || jcr->JobStatus == JS_WaitMount \ - || jcr->JobStatus == JS_WaitStoreRes || jcr->JobStatus == JS_WaitJobRes \ - || jcr->JobStatus == JS_WaitClientRes \ - || jcr->JobStatus == JS_WaitMaxJobs \ - || jcr->JobStatus == JS_WaitPriority \ - || jcr->impl->SDJobStatus == JS_WaitMedia \ - || jcr->impl->SDJobStatus == JS_WaitMount \ - || jcr->impl->SDJobStatus == JS_WaitDevice \ +#define JobWaiting(jcr) \ + (jcr->job_started \ + && (jcr->getJobStatus() == JS_WaitFD || jcr->getJobStatus() == JS_WaitSD \ + || jcr->getJobStatus() == JS_WaitMedia \ + || jcr->getJobStatus() == JS_WaitMount \ + || jcr->getJobStatus() == JS_WaitStoreRes \ + || jcr->getJobStatus() == JS_WaitJobRes \ + || jcr->getJobStatus() == JS_WaitClientRes \ + || jcr->getJobStatus() == JS_WaitMaxJobs \ + || jcr->getJobStatus() == JS_WaitPriority \ + || jcr->impl->SDJobStatus == JS_WaitMedia \ + || jcr->impl->SDJobStatus == JS_WaitMount \ + || jcr->impl->SDJobStatus == JS_WaitDevice \ || jcr->impl->SDJobStatus == JS_WaitMaxJobs)) /* clang-format off */ diff --git a/core/src/dird/job.cc b/core/src/dird/job.cc index 8882ccdff..4114688b9 100644 --- a/core/src/dird/job.cc +++ b/core/src/dird/job.cc @@ -675,7 +675,7 @@ void SdMsgThreadSendSignal(JobControlRecord* jcr, int sig) bool CancelJob(UaContext* ua, JobControlRecord* jcr) { char ed1[50]; - int32_t old_status = jcr->JobStatus; + int32_t old_status = jcr->getJobStatus(); jcr->setJobStatusWithPriorityCheck(JS_Canceled); @@ -957,7 +957,7 @@ bool AllowDuplicateJob(JobControlRecord* jcr) * If CancelQueuedDuplicates is set do so only if job is queued. */ if (job->CancelQueuedDuplicates) { - switch (djcr->JobStatus) { + switch (djcr->getJobStatus()) { case JS_Created: case JS_WaitJobRes: case JS_WaitClientRes: @@ -1399,7 +1399,7 @@ void InitJcrJobRecord(JobControlRecord* jcr) jcr->impl->jr.EndTime = 0; /* perhaps rescheduled, clear it */ jcr->impl->jr.JobType = jcr->getJobType(); jcr->impl->jr.JobLevel = jcr->getJobLevel(); - jcr->impl->jr.JobStatus = jcr->JobStatus; + jcr->impl->jr.JobStatus = jcr->getJobStatus(); jcr->impl->jr.JobId = jcr->JobId; jcr->impl->jr.JobSumTotalBytes = 18446744073709551615LLU; bstrncpy(jcr->impl->jr.Name, jcr->impl->res.job->resource_name_, @@ -1413,7 +1413,7 @@ void UpdateJobEndRecord(JobControlRecord* jcr) jcr->impl->jr.EndTime = time(NULL); jcr->end_time = jcr->impl->jr.EndTime; jcr->impl->jr.JobId = jcr->JobId; - jcr->impl->jr.JobStatus = jcr->JobStatus; + jcr->impl->jr.JobStatus = jcr->getJobStatus(); jcr->impl->jr.JobFiles = jcr->JobFiles; jcr->impl->jr.JobBytes = jcr->JobBytes; jcr->impl->jr.ReadBytes = jcr->ReadBytes; @@ -1636,7 +1636,7 @@ void SetJcrDefaults(JobControlRecord* jcr, JobResource* job) jcr->impl->res.job = job; jcr->setJobType(job->JobType); jcr->setJobProtocol(job->Protocol); - jcr->JobStatus = JS_Created; + jcr->setJobStatus(JS_Created); switch (jcr->getJobType()) { case JT_ADMIN: diff --git a/core/src/dird/jobq.cc b/core/src/dird/jobq.cc index 128cc59bc..8c4281ab3 100644 --- a/core/src/dird/jobq.cc +++ b/core/src/dird/jobq.cc @@ -625,7 +625,7 @@ static bool RescheduleJob(JobControlRecord* jcr, jobq_t* jq, jobq_item_t* je) _("Rescheduled Job %s at %s to re-run in %d seconds (%s).\n"), jcr->Job, dt, (int)jcr->impl->res.job->RescheduleInterval, dt2); DirdFreeJcrPointers(jcr); /* partial cleanup old stuff */ - jcr->JobStatus = -1; + jcr->setJobStatus(-1); jcr->impl->SDJobStatus = 0; jcr->JobErrors = 0; if (!AllowDuplicateJob(jcr)) { return false; } @@ -675,8 +675,8 @@ static bool RescheduleJob(JobControlRecord* jcr, jobq_t* jq, jobq_item_t* je) njcr->impl->res.next_pool = jcr->impl->res.next_pool; njcr->impl->res.run_next_pool_override = jcr->impl->res.run_next_pool_override; - njcr->JobStatus = -1; - njcr->setJobStatusWithPriorityCheck(jcr->JobStatus); + njcr->setJobStatus(-1); + njcr->setJobStatusWithPriorityCheck(jcr->getJobStatus()); if (jcr->impl->res.read_storage) { CopyRstorage(njcr, jcr->impl->res.read_storage_list, _("previous Job")); } else { diff --git a/core/src/dird/migrate.cc b/core/src/dird/migrate.cc index 0194c7036..8280e7c48 100644 --- a/core/src/dird/migrate.cc +++ b/core/src/dird/migrate.cc @@ -1243,7 +1243,7 @@ static inline bool DoActualMigration(JobControlRecord* jcr) edit_int64(jcr->impl->previous_jr.JobId, ed1), jcr->get_ActionName(true), jcr->get_OperationName()); jcr->setJobStatusWithPriorityCheck(JS_Terminated); - MigrationCleanup(jcr, jcr->JobStatus); + MigrationCleanup(jcr, jcr->getJobStatus()); return true; } @@ -1253,7 +1253,7 @@ static inline bool DoActualMigration(JobControlRecord* jcr) edit_int64(jcr->impl->previous_jr.JobId, ed1), jcr->get_OperationName()); jcr->setJobStatusWithPriorityCheck(JS_Terminated); - MigrationCleanup(jcr, jcr->JobStatus); + MigrationCleanup(jcr, jcr->getJobStatus()); return true; } @@ -1501,7 +1501,7 @@ bail_out: FreePairedStorage(jcr); if (jcr->is_JobStatus(JS_Terminated)) { - MigrationCleanup(jcr, jcr->JobStatus); + MigrationCleanup(jcr, jcr->getJobStatus()); retval = true; } @@ -1516,7 +1516,7 @@ static inline bool DoMigrationSelection(JobControlRecord* jcr) retval = getJobs_to_migrate(jcr); if (retval) { jcr->setJobStatusWithPriorityCheck(JS_Terminated); - MigrationCleanup(jcr, jcr->JobStatus); + MigrationCleanup(jcr, jcr->getJobStatus()); } else { jcr->setJobStatusWithPriorityCheck(JS_ErrorTerminated); } @@ -1852,7 +1852,7 @@ void MigrationCleanup(JobControlRecord* jcr, int TermCode) } } - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("%s OK"); break; @@ -1868,7 +1868,7 @@ void MigrationCleanup(JobControlRecord* jcr, int TermCode) * can be different so that is why we do a second switch inside the * switch on the JobStatus. */ - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Canceled: TermMsg = _("%s Canceled"); break; @@ -1902,7 +1902,7 @@ void MigrationCleanup(JobControlRecord* jcr, int TermCode) Mmsg(query, "DELETE FROM job WHERE JobId=%d", jcr->JobId); jcr->db->SqlQuery(query.c_str()); - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("%s OK"); break; diff --git a/core/src/dird/ndmp_dma_backup_common.cc b/core/src/dird/ndmp_dma_backup_common.cc index b9e569fe1..3d43e1f94 100644 --- a/core/src/dird/ndmp_dma_backup_common.cc +++ b/core/src/dird/ndmp_dma_backup_common.cc @@ -293,7 +293,7 @@ void NdmpBackupCleanup(JobControlRecord* jcr, int TermCode) UpdateBootstrapFile(jcr); - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Backup OK"); break; diff --git a/core/src/dird/ndmp_dma_restore_NDMP_BAREOS.cc b/core/src/dird/ndmp_dma_restore_NDMP_BAREOS.cc index 955d07995..6d1f2c44b 100644 --- a/core/src/dird/ndmp_dma_restore_NDMP_BAREOS.cc +++ b/core/src/dird/ndmp_dma_restore_NDMP_BAREOS.cc @@ -344,7 +344,7 @@ static inline int NdmpWaitForJobTermination(JobControlRecord* jcr) WaitForStorageDaemonTermination(jcr); jcr->impl->FDJobStatus = JS_Terminated; - if (jcr->JobStatus != JS_Terminated) { return jcr->JobStatus; } + if (jcr->getJobStatus() != JS_Terminated) { return jcr->getJobStatus(); } if (jcr->impl->FDJobStatus != JS_Terminated) { return jcr->impl->FDJobStatus; } diff --git a/core/src/dird/ua_cmds.cc b/core/src/dird/ua_cmds.cc index c86e986b1..05bd82eea 100644 --- a/core/src/dird/ua_cmds.cc +++ b/core/src/dird/ua_cmds.cc @@ -623,7 +623,7 @@ bool Do_a_command(UaContext* ua) * ua->jcr->setJobStatus(JS_Running) * isn't enough, as it does not overwrite error states. */ - ua->jcr->JobStatus = JS_Running; + ua->jcr->setJobStatus(JS_Running); if (ua->api) { user->signal(BNET_CMD_BEGIN); } ua->send->SetMode(ua->api); @@ -2741,8 +2741,8 @@ static bool wait_cmd(UaContext* ua, const char*) for (bool waiting = false; !waiting;) { foreach_jcr (jcr) { if (jcr->JobId != 0 - && (jcr->JobStatus == JS_WaitMedia - || jcr->JobStatus == JS_WaitMount)) { + && (jcr->getJobStatus() == JS_WaitMedia + || jcr->getJobStatus() == JS_WaitMount)) { waiting = true; break; } diff --git a/core/src/dird/ua_select.cc b/core/src/dird/ua_select.cc index cc0b3a7ff..b8c013fc6 100644 --- a/core/src/dird/ua_select.cc +++ b/core/src/dird/ua_select.cc @@ -1691,16 +1691,20 @@ alist<JobId_t*>* select_jobs(UaContext* ua, const char* reason) case all_jobs: break; case created_jobs: - if (jcr->JobStatus != JS_Created) { continue; } + if (jcr->getJobStatus() != JS_Created) { continue; } break; case blocked_jobs: - if (!jcr->job_started || jcr->JobStatus != JS_Blocked) { continue; } + if (!jcr->job_started || jcr->getJobStatus() != JS_Blocked) { + continue; + } break; case waiting_jobs: if (!JobWaiting(jcr)) { continue; } break; case running_jobs: - if (!jcr->job_started || jcr->JobStatus != JS_Running) { continue; } + if (!jcr->job_started || jcr->getJobStatus() != JS_Running) { + continue; + } break; default: break; diff --git a/core/src/dird/ua_status.cc b/core/src/dird/ua_status.cc index 8494227ce..20e830194 100644 --- a/core/src/dird/ua_status.cc +++ b/core/src/dird/ua_status.cc @@ -291,12 +291,12 @@ static void DoAllStatus(UaContext* ua) } UnlockRes(my_config); - previous_JobStatus = ua->jcr->JobStatus; + previous_JobStatus = ua->jcr->getJobStatus(); /* Call each unique Storage daemon */ for (j = 0; j < i; j++) { StorageStatus(ua, unique_store[j], NULL); - ua->jcr->JobStatus = previous_JobStatus; + ua->jcr->setJobStatus(previous_JobStatus); } free(unique_store); @@ -326,12 +326,12 @@ static void DoAllStatus(UaContext* ua) } UnlockRes(my_config); - previous_JobStatus = ua->jcr->JobStatus; + previous_JobStatus = ua->jcr->getJobStatus(); /* Call each unique File daemon */ for (j = 0; j < i; j++) { ClientStatus(ua, unique_client[j], NULL); - ua->jcr->JobStatus = previous_JobStatus; + ua->jcr->setJobStatus(previous_JobStatus); } free(unique_client); } @@ -970,7 +970,7 @@ static void ListRunningJobs(UaContext* ua) continue; } njobs++; - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Created: msg = _("is waiting execution"); break; diff --git a/core/src/dird/vbackup.cc b/core/src/dird/vbackup.cc index 29edcd2f3..9acd1b67d 100644 --- a/core/src/dird/vbackup.cc +++ b/core/src/dird/vbackup.cc @@ -380,7 +380,7 @@ bool DoNativeVbackup(JobControlRecord* jcr) jcr); /* used by bulk batch file insert */ if (!jcr->is_JobStatus(JS_Terminated)) { return false; } - NativeVbackupCleanup(jcr, jcr->JobStatus, JobLevel_of_first_job); + NativeVbackupCleanup(jcr, jcr->getJobStatus(), JobLevel_of_first_job); // Remove the successfully consolidated jobids from the database if (jcr->impl->res.job->AlwaysIncremental @@ -407,7 +407,7 @@ void NativeVbackupCleanup(JobControlRecord* jcr, int TermCode, int JobLevel) Dmsg2(100, "Enter backup_cleanup %d %c\n", TermCode, TermCode); - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: case JS_Warnings: jcr->impl->jr.JobLevel = JobLevel; /* We want this to appear as what the @@ -456,7 +456,7 @@ void NativeVbackupCleanup(JobControlRecord* jcr, int TermCode, int JobLevel) UpdateBootstrapFile(jcr); - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Backup OK"); break; diff --git a/core/src/filed/fd_plugins.cc b/core/src/filed/fd_plugins.cc index 43dc3e949..b992e1af2 100644 --- a/core/src/filed/fd_plugins.cc +++ b/core/src/filed/fd_plugins.cc @@ -2054,7 +2054,7 @@ static bRC bareosGetValue(PluginContext* ctx, bVariable var, void* value) NPRT(*((char**)value))); break; case bVarJobStatus: - *((int*)value) = jcr->JobStatus; + *((int*)value) = jcr->getJobStatus(); Dmsg1(debuglevel, "fd-plugin: return bVarJobStatus=%d\n", jcr->getJobStatus()); break; diff --git a/core/src/include/jcr.h b/core/src/include/jcr.h index 931c4d38e..1b7949184 100644 --- a/core/src/include/jcr.h +++ b/core/src/include/jcr.h @@ -67,11 +67,12 @@ struct CopyThreadContext; typedef void(JCR_free_HANDLER)(JobControlRecord* jcr); #define JobTerminatedSuccessfully(jcr) \ - (jcr->JobStatus == JS_Terminated || jcr->JobStatus == JS_Warnings) + (jcr->getJobStatus() == JS_Terminated || jcr->getJobStatus() == JS_Warnings) -#define JobCanceled(jcr) \ - (jcr->JobStatus == JS_Canceled || jcr->JobStatus == JS_ErrorTerminated \ - || jcr->JobStatus == JS_FatalError) +#define JobCanceled(jcr) \ + (jcr->getJobStatus() == JS_Canceled \ + || jcr->getJobStatus() == JS_ErrorTerminated \ + || jcr->getJobStatus() == JS_FatalError) #define foreach_jcr(jcr) \ for (jcr = jcr_walk_start(); jcr; (jcr = jcr_walk_next(jcr))) @@ -83,6 +84,7 @@ class JobControlRecord { private: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /**< Jcr mutex */ std::atomic<int32_t> _use_count{}; /**< Use count */ + std::atomic<int32_t> JobStatus{}; /**< ready, running, blocked, terminated */ int32_t JobType_{}; /**< Backup, restore, verify ... */ int32_t JobLevel_{}; /**< Job level */ int32_t Protocol_{}; /**< Backup Protocol */ @@ -165,7 +167,6 @@ class JobControlRecord { uint64_t LastJobBytes{}; /**< Last sample number bytes */ uint64_t ReadBytes{}; /**< Bytes read -- before compression */ FileId_t FileId{}; /**< Last FileId used */ - std::atomic<int32_t> JobStatus{}; /**< ready, running, blocked, terminated */ int32_t JobPriority{}; /**< Job priority */ time_t sched_time{}; /**< Job schedule time, i.e. when it should start */ time_t initial_sched_time{}; /**< Original sched time before any reschedules are done */ diff --git a/core/src/lib/jcr.cc b/core/src/lib/jcr.cc index ae127a6b6..71447eaa7 100644 --- a/core/src/lib/jcr.cc +++ b/core/src/lib/jcr.cc @@ -660,7 +660,7 @@ TlsPolicy JcrGetTlsPolicy(const char* unified_job_name) static void UpdateWaitTime(JobControlRecord* jcr, int newJobStatus) { bool enter_in_waittime; - int oldJobStatus = jcr->JobStatus; + int oldJobStatus = jcr->getJobStatus(); switch (newJobStatus) { case JS_WaitFD: diff --git a/core/src/lib/message.cc b/core/src/lib/message.cc index 1c4e66176..27b0fc4f2 100644 --- a/core/src/lib/message.cc +++ b/core/src/lib/message.cc @@ -370,7 +370,7 @@ void CloseMsg(JobControlRecord* jcr) switch (d->dest_code_) { case MessageDestinationCode::KMailOnError: if (jcr) { - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: case JS_Warnings: goto rem_temp_file; @@ -381,7 +381,7 @@ void CloseMsg(JobControlRecord* jcr) break; case MessageDestinationCode::kMailOnSuccess: if (jcr) { - switch (jcr->JobStatus) { + switch (jcr->getJobStatus()) { case JS_Terminated: case JS_Warnings: break; diff --git a/core/src/lib/recent_job_results_list.cc b/core/src/lib/recent_job_results_list.cc index 3165c1af0..18724ba18 100644 --- a/core/src/lib/recent_job_results_list.cc +++ b/core/src/lib/recent_job_results_list.cc @@ -3,7 +3,7 @@ Copyright (C) 2000-2012 Free Software Foundation Europe e.V. Copyright (C) 2011-2012 Planets Communications B.V. - Copyright (C) 2019-2019 Bareos GmbH & Co. KG + Copyright (C) 2019-2022 Bareos GmbH & Co. KG This program is Free Software; you can redistribute it and/or modify it under the terms of version three of the GNU Affero General Public @@ -128,7 +128,7 @@ void RecentJobResultsList::Append(JobControlRecord* jcr) bstrncpy(je.Job, jcr->Job, sizeof(je.Job)); je.JobFiles = jcr->JobFiles; je.JobBytes = jcr->JobBytes; - je.JobStatus = jcr->JobStatus; + je.JobStatus = jcr->getJobStatus(); je.JobLevel = jcr->getJobLevel(); je.start_time = jcr->start_time; je.end_time = time(nullptr); diff --git a/core/src/lib/runscript.cc b/core/src/lib/runscript.cc index 8a17b7dd2..57ab1a2f3 100644 --- a/core/src/lib/runscript.cc +++ b/core/src/lib/runscript.cc @@ -146,9 +146,11 @@ int RunScripts(JobControlRecord* jcr, } else { if ((script->when & SCRIPT_Before) && (when & SCRIPT_Before)) { if ((script->on_success - && (jcr->JobStatus == JS_Running || jcr->JobStatus == JS_Created)) + && (jcr->getJobStatus() == JS_Running + || jcr->getJobStatus() == JS_Created)) || (script->on_failure - && (JobCanceled(jcr) || jcr->JobStatus == JS_Differences))) { + && (JobCanceled(jcr) + || jcr->getJobStatus() == JS_Differences))) { Dmsg4(200, "runscript: Run it because SCRIPT_Before (%s,%i,%i,%c)\n", script->command.c_str(), script->on_success, script->on_failure, jcr->getJobStatus()); @@ -157,7 +159,7 @@ int RunScripts(JobControlRecord* jcr, } if ((script->when & SCRIPT_AfterVSS) && (when & SCRIPT_AfterVSS)) { - if ((script->on_success && (jcr->JobStatus == JS_Blocked)) + if ((script->on_success && (jcr->getJobStatus() == JS_Blocked)) || (script->on_failure && JobCanceled(jcr))) { Dmsg4(200, "runscript: Run it because SCRIPT_AfterVSS (%s,%i,%i,%c)\n", @@ -170,7 +172,8 @@ int RunScripts(JobControlRecord* jcr, if ((script->when & SCRIPT_After) && (when & SCRIPT_After)) { if ((script->on_success && jcr->IsTerminatedOk()) || (script->on_failure - && (JobCanceled(jcr) || jcr->JobStatus == JS_Differences))) { + && (JobCanceled(jcr) + || jcr->getJobStatus() == JS_Differences))) { Dmsg4(200, "runscript: Run it because SCRIPT_After (%s,%i,%i,%c)\n", script->command.c_str(), script->on_success, script->on_failure, jcr->getJobStatus()); diff --git a/core/src/lib/util.cc b/core/src/lib/util.cc index 1cb6191b5..52a96e6d6 100644 --- a/core/src/lib/util.cc +++ b/core/src/lib/util.cc @@ -962,7 +962,7 @@ POOLMEM* edit_job_codes(JobControlRecord* jcr, break; case 'e': /* Job Exit code */ if (jcr) { - str = job_status_to_str(jcr->JobStatus); + str = job_status_to_str(jcr->getJobStatus()); } else { str = _("*None*"); } diff --git a/core/src/stored/bscan.cc b/core/src/stored/bscan.cc index 967354d8b..6c5fbb5da 100644 --- a/core/src/stored/bscan.cc +++ b/core/src/stored/bscan.cc @@ -1258,7 +1258,7 @@ static bool UpdateJobRecord(BareosDb* db, jr->JobId = mjcr->JobId; jr->JobStatus = elabel->JobStatus; - mjcr->JobStatus = elabel->JobStatus; + mjcr->setJobStatus(elabel->JobStatus); jr->JobFiles = elabel->JobFiles; if (jr->JobFiles > 0) { /* If we found files, force PurgedFiles */ jr->PurgedFiles = 0; @@ -1294,7 +1294,7 @@ static bool UpdateJobRecord(BareosDb* db, char sdt[50], edt[50]; char ec1[30], ec2[30], ec3[30]; - switch (mjcr->JobStatus) { + switch (mjcr->getJobStatus()) { case JS_Terminated: TermMsg = _("Backup OK"); break; @@ -1427,7 +1427,7 @@ static JobControlRecord* create_jcr(JobDbRecord* jr, jobjcr->impl = new JobControlRecordPrivate; jobjcr->setJobType(jr->JobType); jobjcr->setJobLevel(jr->JobLevel); - jobjcr->JobStatus = jr->JobStatus; + jobjcr->setJobStatus(jr->JobStatus); bstrncpy(jobjcr->Job, jr->Job, sizeof(jobjcr->Job)); jobjcr->JobId = JobId; /* this is JobId on tape */ jobjcr->sched_time = jr->SchedTime; diff --git a/core/src/stored/butil.cc b/core/src/stored/butil.cc index feb6215e6..d8bea286a 100644 --- a/core/src/stored/butil.cc +++ b/core/src/stored/butil.cc @@ -73,7 +73,7 @@ JobControlRecord* SetupDummyJcr(const char* name, jcr->JobId = 0; jcr->setJobType(JT_CONSOLE); jcr->setJobLevel(L_FULL); - jcr->JobStatus = JS_Terminated; + jcr->setJobStatus(JS_Terminated); jcr->where = strdup(""); jcr->impl->job_name = GetPoolMemory(PM_FNAME); PmStrcpy(jcr->impl->job_name, "Dummy.Job.Name"); diff --git a/core/src/stored/dir_cmd.cc b/core/src/stored/dir_cmd.cc index 5e1180c52..3a91ad245 100644 --- a/core/src/stored/dir_cmd.cc +++ b/core/src/stored/dir_cmd.cc @@ -517,7 +517,7 @@ static bool CancelCmd(JobControlRecord* cjcr) } } - oldStatus = jcr->JobStatus; + oldStatus = jcr->getJobStatus(); jcr->setJobStatusWithPriorityCheck(status); Dmsg2(800, "Cancel JobId=%d %p\n", jcr->JobId, jcr); diff --git a/core/src/stored/label.cc b/core/src/stored/label.cc index 3ecb57c7c..c2f6e1a80 100644 --- a/core/src/stored/label.cc +++ b/core/src/stored/label.cc @@ -624,7 +624,7 @@ static void CreateSessionLabel(DeviceControlRecord* dcr, ser_uint32(jcr->JobErrors); /* Added in VerNum 11 */ - ser_uint32(jcr->JobStatus); + ser_uint32(jcr->getJobStatus()); } SerEnd(rec->data, SER_LENGTH_Session_Label); rec->data_len = SerLength(rec->data); diff --git a/core/src/stored/mac.cc b/core/src/stored/mac.cc index a4c6a29f3..52936d1a6 100644 --- a/core/src/stored/mac.cc +++ b/core/src/stored/mac.cc @@ -643,7 +643,7 @@ bail_out: memorize current JobStatus and set to JS_Terminated to write into EOS_LABEL */ - char currentJobStatus = jcr->JobStatus; + char currentJobStatus = jcr->getJobStatus(); jcr->setJobStatusWithPriorityCheck(JS_Terminated); // Write End Of Session Label diff --git a/core/src/stored/sd_plugins.cc b/core/src/stored/sd_plugins.cc index 4b01a6a72..53d4ed56a 100644 --- a/core/src/stored/sd_plugins.cc +++ b/core/src/stored/sd_plugins.cc @@ -736,7 +736,7 @@ static bRC bareosGetValue(PluginContext* ctx, bsdrVariable var, void* value) NPRT(*((char**)value))); break; case bsdVarJobStatus: - *((int*)value) = jcr->JobStatus; + *((int*)value) = jcr->getJobStatus(); Dmsg1(debuglevel, "sd-plugin: return bsdVarJobStatus=%c\n", jcr->getJobStatus()); break; diff --git a/core/src/stored/status.cc b/core/src/stored/status.cc index 2451d52d4..7a662f69c 100644 --- a/core/src/stored/status.cc +++ b/core/src/stored/status.cc @@ -519,7 +519,7 @@ static void SendBlockedStatus(Device* dev, StatusPacket* sp) bool found_jcr = false; dev->Lock(); for (auto dcr : dev->attached_dcrs) { - if (dcr->jcr->JobStatus == JS_WaitMount) { + if (dcr->jcr->getJobStatus() == JS_WaitMount) { len = Mmsg( msg, _(" Device is BLOCKED waiting for mount of volume \"%s\",\n" @@ -528,7 +528,7 @@ static void SendBlockedStatus(Device* dev, StatusPacket* sp) dcr->VolumeName, dcr->pool_name, dcr->media_type); sp->send(msg, len); found_jcr = true; - } else if (dcr->jcr->JobStatus == JS_WaitMedia) { + } else if (dcr->jcr->getJobStatus() == JS_WaitMedia) { len = Mmsg(msg, _(" Device is BLOCKED waiting to create a volume for:\n" " Pool: %s\n" @@ -663,7 +663,7 @@ static void ListRunningJobs(StatusPacket* sp) } foreach_jcr (jcr) { - if (jcr->JobStatus == JS_WaitFD) { + if (jcr->getJobStatus() == JS_WaitFD) { len = Mmsg(msg, _("%s Job %s waiting for Client connection.\n"), job_type_to_str(jcr->getJobType()), jcr->Job); sp->send(msg, len); |