X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fjcr.h;h=89e2095cdbc2308cdf4e1c4413eee8f1bfe1c685;hb=1c53d648f144d370c9d76aa7b875f290679303e1;hp=8d15a91ef9a6d1bf1f5aeb991385244a468132a1;hpb=9e4e551c40ca986f86408d0f60ad8bac9bb9729f;p=bacula%2Fbacula diff --git a/bacula/src/jcr.h b/bacula/src/jcr.h index 8d15a91ef9..89e2095cdb 100644 --- a/bacula/src/jcr.h +++ b/bacula/src/jcr.h @@ -1,24 +1,14 @@ -/* - * Bacula JCR Structure definition for Daemons and the Library - * This definition consists of a "Global" definition common - * to all daemons and used by the library routines, and a - * daemon specific part that is enabled with #defines. - * - * Kern Sibbald, Nov MM - * - * Version $Id$ - */ /* Bacula® - The Network Backup Solution - Copyright (C) 2000-2006 Free Software Foundation Europe e.V. + 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 plus additions - that are listed in the file LICENSE. + 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 @@ -35,6 +25,16 @@ (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 + * to all daemons and used by the library routines, and a + * daemon specific part that is enabled with #defines. + * + * Kern Sibbald, Nov MM + * + * Version $Id$ + */ #ifndef __JCR_H_ @@ -173,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 */ @@ -184,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 */ @@ -203,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; @@ -236,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 */ @@ -248,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 */ @@ -275,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? */ @@ -288,10 +296,7 @@ public: uint8_t *pki_session_encoded; /* Cached DER-encoded copy of pki_session */ int32_t pki_session_encoded_size; /* Size of DER-encoded pki_session */ POOLMEM *crypto_buf; /* Encryption/Decryption buffer */ - int32_t crypto_count; /* Count of bytes currently in crypto_buf */ - int32_t crypto_size; /* Total bytes in packet */ DIRRES* director; /* Director resource */ - bool runscript_after; /* Don't run After Script twice */ #endif /* FILE_DAEMON */ @@ -308,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 */