]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/jcr.h
ebl Update SQLite for Long term statistics
[bacula/bacula] / bacula / src / jcr.h
index 4f3f50c4de3475fce28c6f159e57a9e87c6051a5..2ad419f19ac927d7e04d6bd1e60edb466bc412e4 100644 (file)
@@ -109,6 +109,22 @@ enum {
    jcr->JobStatus == JS_ErrorTerminated || \
    jcr->JobStatus == JS_FatalError)
 
+#define job_waiting(jcr) \
+  (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->SDJobStatus == JS_WaitMedia  || \
+   jcr->SDJobStatus == JS_WaitMount  || \
+   jcr->SDJobStatus == JS_WaitMaxJobs)
+
+
+
 #define foreach_jcr(jcr) \
    for (jcr=jcr_walk_start(); jcr; (jcr=jcr_walk_next(jcr)) )
 
@@ -126,6 +142,8 @@ struct Plugin;
 struct save_pkt;
 
 #ifdef FILE_DAEMON
+class htable;
+
 struct CRYPTO_CTX {
    bool pki_sign;                     /* Enable PKI Signatures? */
    bool pki_encrypt;                  /* Enable PKI Encryption? */
@@ -187,6 +205,7 @@ public:
    time_t start_time;                 /* when job actually started */
    time_t run_time;                   /* used for computing speed */
    time_t end_time;                   /* job end time */
+   time_t wait_time;                  /* when job have started to wait */
    POOLMEM *client_name;              /* client name */
    POOLMEM *RestoreBootstrap;         /* Bootstrap file to restore */
    POOLMEM *stime;                    /* start time for incremental/differential */
@@ -216,6 +235,7 @@ public:
    void *plugin_ctx;                  /* current plugin context */
    Plugin *plugin;                    /* plugin instance */
    save_pkt *plugin_sp;               /* plugin save packet */
+   char *plugin_options;              /* user set options for plugin */
 
    /* Daemon specific part of JCR */
    /* This should be empty in the library */
@@ -271,9 +291,11 @@ public:
    POOLMEM *rpool_source;             /* Where migrate read pool came from */
    POOLMEM *rstore_source;            /* Where read storage came from */
    POOLMEM *wstore_source;            /* Where write storage came from */
+   POOLMEM *catalog_source;           /* Where catalog came from */
    int replace;                       /* Replace option */
    int NumVols;                       /* Number of Volume used in pool */
    int reschedule_count;              /* Number of times rescheduled */
+   int FDVersion;                     /* File daemon version number */
    int64_t spool_size;                /* Spool size for this job */
    bool spool_data;                   /* Spool data in SD */
    bool acquired_resource_locks;      /* set if resource locks acquired */
@@ -285,6 +307,7 @@ public:
    bool unlink_bsr;                   /* Unlink bsr file created */
    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 */
 #endif /* DIRECTOR_DAEMON */
 
 
@@ -318,6 +341,12 @@ public:
    CRYPTO_CTX crypto;                 /* Crypto ctx */
    DIRRES* director;                  /* Director resource */
    bool VSS;                          /* VSS used by FD */
+#ifdef USE_TCADB
+   TCADB *file_list;                 /* Previous file list (accurate mode) */
+   POOLMEM *hash_name;
+#else
+   htable *file_list;                 /* Previous file list (accurate mode) */
+#endif
 #endif /* FILE_DAEMON */