*/
/*
- Copyright (C) 2000-2004 Kern Sibbald and John Walker
+ Copyright (C) 2000-2005 Kern Sibbald
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
#define JT_VERIFY 'V' /* Verify Job */
#define JT_RESTORE 'R' /* Restore Job */
#define JT_CONSOLE 'C' /* console program */
-#define JT_SYSTEM 'S' /* internal system "job" */
+#define JT_SYSTEM 'I' /* internal system "job" */
#define JT_ADMIN 'D' /* admin job */
#define JT_ARCHIVE 'A' /* Archive Job */
#define JT_COPY 'Y' /* Copy Job */
#define JT_MIGRATION 'M' /* Migration Job */
+#define JT_SCAN 'S' /* Scan Job */
/* Job Status. Some of these are stored in the DB */
#define JS_Created 'C' /* created but not yet running */
#define foreach_jcr(jcr) \
for ((jcr)=NULL; ((jcr)=get_next_jcr(jcr)); )
+#define SD_APPEND 1
+#define SD_READ 0
struct JCR;
time_t end_time; /* job end time */
POOLMEM *client_name; /* client name */
POOLMEM *RestoreBootstrap; /* Bootstrap file to restore */
+ POOLMEM *stime; /* start time for incremental/differential */
char *sd_auth_key; /* SD auth key */
MSGS *jcr_msgs; /* Copy of message resource -- actually used */
uint32_t ClientId; /* Client associated with Job */
/* This should be empty in the library */
#ifdef DIRECTOR_DAEMON
-#define MAX_STORE 2
/* Director Daemon specific part of JCR */
pthread_t SD_msg_chan; /* Message channel thread id */
pthread_cond_t term_wait; /* Wait for job termination */
BSOCK *ua; /* User agent */
JOB *job; /* Job resource */
JOB *verify_job; /* Job resource of verify target job */
- alist *storage[MAX_STORE]; /* Storage possibilities */
+ alist *storage; /* Storage possibilities */
STORE *store; /* Storage daemon selected */
CLIENT *client; /* Client resource */
POOL *pool; /* Pool resource */
FileId_t FileId; /* Last file id inserted */
uint32_t FileIndex; /* Last FileIndex processed */
POOLMEM *fname; /* name to put into catalog */
- POOLMEM *stime; /* start time for incremental/differential */
JOB_DBR jr; /* Job DB record for current job */
- JOB_DBR *verify_jr; /* Pointer to target job */
+ JOB_DBR target_jr; /* target job */
+ char FSCreateTime[MAX_TIME_LENGTH]; /* FileSet CreateTime as returned from DB */
+ char since[MAX_TIME_LENGTH]; /* since time */
uint32_t RestoreJobId; /* Id specified by UA */
POOLMEM *client_uname; /* client uname */
int replace; /* Replace option */
- int saveMaxConcurrentJobs; /* save for restore jobs */
int NumVols; /* Number of Volume used in pool */
int reschedule_count; /* Number of times rescheduled */
bool spool_data; /* Spool data in SD */
bool acquired_resource_locks; /* set if resource locks acquired */
bool term_wait_inited; /* Set when cond var inited */
bool fn_printed; /* printed filename */
+ bool write_part_after_job; /* Write part after job in SD */
+ bool needs_sd; /* set if SD needed by Job */
+ bool cloned; /* set if cloned */
#endif /* DIRECTOR_DAEMON */
/* File Daemon specific part of JCR */
uint32_t num_files_examined; /* files examined this job */
POOLMEM *last_fname; /* last file saved/verified */
+ POOLMEM *acl_text; /* text of ACL for backup */
/*********FIXME********* add missing files and files to be retried */
int incremental; /* set if incremental for SINCE */
time_t mtime; /* begin time for SINCE */
pthread_cond_t job_start_wait; /* Wait for FD to start Job */
int type;
DCR *dcr; /* device context record */
- DEVRES *device; /* device resource to use */
+ alist *dcrs; /* list of dcrs open */
+// DEVRES *device; /* device resource to use */
POOLMEM *job_name; /* base Job name (not unique) */
POOLMEM *fileset_name; /* FileSet */
POOLMEM *fileset_md5; /* MD5 for FileSet */
bool spool_data; /* set to spool data */
int CurVol; /* Current Volume count */
DIRRES* director; /* Director resource */
-
+ bool write_part_after_job; /* Set to write part after job */
+
uint32_t FileId; /* Last file id inserted */
/* Parmaters for Open Read Session */