]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/jcr.h
Make sure to clear JS_WaitMedia when operator mounts a Volume.
[bacula/bacula] / bacula / src / jcr.h
index 36494a89f81edbcdefc59232f648e28e4193e50d..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)) )
 
@@ -119,7 +135,6 @@ enum {
 
 /* Forward referenced structures */
 class JCR;
-class htable;
 struct FF_PKT;
 struct B_DB;
 struct ATTR_DBR;
@@ -127,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? */
@@ -188,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 */
@@ -289,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 */
 
 
@@ -322,7 +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 */