]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/jcr.h
kes When applying a storage override, release all previous storage
[bacula/bacula] / bacula / src / jcr.h
index f37b6f68650fa35f728feb48dd4feef0b7366b42..89e2095cdbc2308cdf4e1c4413eee8f1bfe1c685 100644 (file)
@@ -1,3 +1,30 @@
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2007 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.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation and included
+   in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 /*
  * Bacula JCR Structure definition for Daemons and the Library
  *  This definition consists of a "Global" definition common
@@ -8,20 +35,6 @@
  *
  *   Version $Id$
  */
-/*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
 
 
 #ifndef __JCR_H_
@@ -160,6 +173,8 @@ public:
    MSGS *jcr_msgs;                    /* Copy of message resource -- actually used */
    uint32_t ClientId;                 /* Client associated with Job */
    char *where;                       /* prefix to restore files to */
+   char *RegexWhere;                  /* file relocation in restore */
+   alist *where_bregexp;              /* BREGEXP alist for path manipulation */
    int cached_pnl;                    /* cached path length */
    POOLMEM *cached_path;              /* cached path */
    bool prefix_links;                 /* Prefix links with Where path */
@@ -171,6 +186,7 @@ public:
    bool cached_attribute;             /* set if attribute is cached */
    POOLMEM *attr;                     /* Attribute string from SD */
    B_DB *db;                          /* database pointer */
+   B_DB *db_batch;                    /* database pointer for batch insert */
    ATTR_DBR *ar;                      /* DB attribute record */
 
    /* Daemon specific part of JCR */
@@ -190,10 +206,11 @@ public:
    alist *wstorage;                   /* Write storage possibilities */
    STORE *wstore;                     /* Selected write storage */
    CLIENT *client;                    /* Client resource */
-   POOL *pool;                        /* Pool resource */
+   POOL *pool;                        /* Pool resource = write for migration */
+   POOL *rpool;                       /* Read pool. Used only in migration */
    POOL *full_pool;                   /* Full backup pool resource */
    POOL *inc_pool;                    /* Incremental backup pool resource */
-   POOL *diff_pool;                    /* Differential backup pool resource */
+   POOL *diff_pool;                   /* Differential backup pool resource */
    bool run_pool_override;
    bool run_full_pool_override;
    bool run_inc_pool_override;
@@ -223,7 +240,9 @@ public:
    };
    POOLMEM *client_uname;             /* client uname */
    POOLMEM *pool_source;              /* Where pool came from */
-   POOLMEM *storage_source;           /* Where storage came from */
+   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 */
    int replace;                       /* Replace option */
    int NumVols;                       /* Number of Volume used in pool */
    int reschedule_count;              /* Number of times rescheduled */
@@ -235,6 +254,8 @@ public:
    bool needs_sd;                     /* set if SD needed by Job */
    bool cloned;                       /* set if cloned */
    bool unlink_bsr;                   /* Unlink bsr file created */
+   bool VSS;                          /* VSS used by FD */
+   bool Encrypt;                      /* Encryption used by FD */
 #endif /* DIRECTOR_DAEMON */
 
 
@@ -262,8 +283,8 @@ public:
    uint32_t StartBlock;
    uint32_t EndBlock;
    pthread_t heartbeat_id;            /* id of heartbeat thread */
-   volatile BSOCK *hb_bsock;          /* duped SD socket */
-   volatile BSOCK *hb_dir_bsock;      /* duped DIR socket */
+   BSOCK *hb_bsock;                   /* duped SD socket */
+   BSOCK *hb_dir_bsock;               /* duped DIR socket */
    alist *RunScripts;                 /* Commands to run before and after job */
    bool pki_sign;                     /* Enable PKI Signatures? */
    bool pki_encrypt;                  /* Enable PKI Encryption? */
@@ -292,8 +313,9 @@ public:
    POOLMEM *fileset_name;             /* FileSet */
    POOLMEM *fileset_md5;              /* MD5 for FileSet */
    VOL_LIST *VolList;                 /* list to read */
-   int32_t NumVolumes;                /* number of volumes used */
-   int32_t CurVolume;                 /* current volume number */
+   int32_t NumWriteVolumes;           /* number of volumes written */
+   int32_t NumReadVolumes;            /* total number of volumes to read */
+   int32_t CurReadVolume;             /* current read volume number */
    int label_errors;                  /* count of label errors */
    bool session_opened;
    long Ticket;                       /* ticket for this job */
@@ -353,7 +375,7 @@ struct s_last_job {
 };
 
 extern struct s_last_job last_job;
-extern dlist * DLL_IMP_EXP last_jobs;
+extern DLL_IMP_EXP dlist * last_jobs;
 
 
 /* The following routines are found in lib/jcr.c */