/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2009 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
#define JT_MIGRATED_JOB 'M' /* A previous backup job that was migrated */
#define JT_VERIFY 'V' /* Verify Job */
#define JT_RESTORE 'R' /* Restore Job */
-#define JT_CONSOLE 'c' /* console program */
+#define JT_CONSOLE 'U' /* console program */
#define JT_SYSTEM 'I' /* internal system "job" */
#define JT_ADMIN 'D' /* admin job */
#define JT_ARCHIVE 'A' /* Archive Job */
-#define JT_COPY 'C' /* Copy Job */
+#define JT_JOB_COPY 'C' /* Copy of a Job */
+#define JT_COPY 'c' /* Copy Job */
#define JT_MIGRATE 'g' /* Migration Job */
#define JT_SCAN 'S' /* Scan Job */
#define JS_Running 'R' /* running */
#define JS_Blocked 'B' /* blocked */
#define JS_Terminated 'T' /* terminated normally */
+#define JS_Warnings 'W' /* Terminated normally with warnings */
#define JS_ErrorTerminated 'E' /* Job terminated in error */
#define JS_Error 'e' /* Non-fatal error */
#define JS_FatalError 'f' /* Fatal error */
void destroy_mutex(void) {pthread_mutex_destroy(&mutex); };
bool is_job_canceled() {return job_canceled(this); };
int32_t get_JobType() { return m_JobType; };
+ int32_t getJobType() { return m_JobType; };
int32_t get_JobLevel() { return m_JobLevel; };
-
- const char *get_OperationName(); /* in lib/jcr.c */
+ int32_t getJobLevel() { return m_JobLevel; };
+ bool no_client_used() {
+ return (m_JobType == JT_MIGRATE || m_JobType == JT_COPY ||
+ m_JobLevel == L_VIRTUAL_FULL);
+ };
+ const char *get_OperationName(); /* in lib/jcr.c */
const char *get_ActionName(bool past); /* in lib/jcr.c */
- void set_JobLevel(int32_t JobLevel); /* in lib/jcr.c */
- void set_JobType(int32_t JobType); /* in lib/jcr.c */
- bool JobReads(); /* in lib/jcr.c */
+ void set_JobLevel(int32_t JobLevel); /* in lib/jcr.c */
+ void setJobLevel(int32_t JobLevel); /* in lib/jcr.c */
+ void set_JobType(int32_t JobType); /* in lib/jcr.c */
+ void setJobType(int32_t JobType); /* in lib/jcr.c */
+ void setJobStatus(int JobStatus); /* in lib/jcr.c */
+ bool JobReads(); /* in lib/jcr.c */
+
/* Global part of JCR common to all daemons */
dlink link; /* JCR chain link */
uint32_t VolSessionId;
uint32_t VolSessionTime;
uint32_t JobFiles; /* Number of files written, this job */
- uint32_t JobErrors; /* */
+ uint32_t JobErrors; /* Number of non-fatal errors this job */
+ uint32_t JobWarnings; /* Number of warning messages */
uint64_t JobBytes; /* Number of bytes processed this job */
uint64_t ReadBytes; /* Bytes read -- before compression */
FileId_t FileId; /* Last FileId used */
- uint32_t Errors; /* Number of non-fatal errors */
volatile 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 */
B_DB *db; /* database pointer */
B_DB *db_batch; /* database pointer for batch and accurate */
bool batch_started; /* is batch mode already started ? */
+ bool HasBase; /* True if job use base jobs */
+ uint64_t nb_base_files; /* Number of base files */
+ uint64_t nb_base_files_used; /* Number of useful files in base */
+
ATTR_DBR *ar; /* DB attribute record */
guid_list *id_list; /* User/group id to name list */
bool accurate; /* true if job is accurate */
bool VSS; /* VSS used by FD */
bool Encrypt; /* Encryption used by FD */
bool stats_enabled; /* Keep all job records in a table for long term statistics */
+ bool no_maxtime; /* Don't check Max*Time for this JCR */
+ bool keep_sd_auth_key; /* Clear or not the SD auth key after connection*/
#endif /* DIRECTOR_DAEMON */
CRYPTO_CTX crypto; /* Crypto ctx */
DIRRES* director; /* Director resource */
bool VSS; /* VSS used by FD */
+ bool multi_restore; /* Dir can do multiple storage restore */
htable *file_list; /* Previous file list (accurate mode) */
+ uint64_t base_size; /* compute space saved with base job */
#endif /* FILE_DAEMON */
alist *reserve_msgs; /* reserve fail messages */
bool write_part_after_job; /* Set to write part after job */
bool PreferMountedVols; /* Prefer mounted vols rather than new */
- bool need_fd; /* set if we need FD connection */
/* Parmaters for Open Read Session */
BSR *bsr; /* Bootstrap record -- has everything */