/*
Bacula(R) - The Network Backup Solution
- Copyright (C) 2000-2015 Kern Sibbald
+ Copyright (C) 2000-2016 Kern Sibbald
The original author of Bacula is Kern Sibbald, with contributions
from many others, a complete list can be found in the file AUTHORS.
bool do_vbackup_init(JCR *jcr)
{
- if (!get_or_create_fileset_record(jcr)) {
- Dmsg1(dbglevel, "JobId=%d no FileSet\n", (int)jcr->JobId);
- return false;
- }
+ /*
+ * if the read pool has not been allocated yet due to the job
+ * being upgraded to a virtual full then allocate it now
+ */
+ if (!jcr->rpool_source)
+ jcr->rpool_source = get_pool_memory(PM_MESSAGE);
- apply_pool_overrides(jcr);
-
- if (!allow_duplicate_job(jcr)) {
- return false;
- }
-
- jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->name());
- if (jcr->jr.PoolId == 0) {
- Dmsg1(dbglevel, "JobId=%d no PoolId\n", (int)jcr->JobId);
- Jmsg(jcr, M_FATAL, 0, _("Could not get or create a Pool record.\n"));
- return false;
- }
/*
* Note, at this point, pool is the pool for this job. We
* transfer it to rpool (read pool), and a bit later,
jcr->rpool = jcr->pool; /* save read pool */
pm_strcpy(jcr->rpool_source, jcr->pool_source);
- /* If pool storage specified, use it for restore */
+ /* If pool storage specified, use it for virtual full */
copy_rstorage(jcr, jcr->pool->storage, _("Pool resource"));
Dmsg2(dbglevel, "Read pool=%s (From %s)\n", jcr->rpool->name(), jcr->rpool_source);
jcr->jr.JobTDate = jcr->start_time;
jcr->setJobStatus(JS_Running);
+ /* Add the following when support for base jobs is added to virtual full */
+ //jcr->HasBase = jcr->job->base != NULL;
+ //jcr->jr.HasBase = jcr->HasBase;
+
/* Update job start record */
if (!db_update_job_start_record(jcr, jcr->db, &jcr->jr)) {
Jmsg(jcr, M_FATAL, 0, "%s", db_strerror(jcr->db));
complete_bsr(ua, rx.bsr);
jcr->ExpectedFiles = write_bsr_file(ua, rx);
- if (chk_dbglvl(10)) {
- Pmsg1(000, "Found %d files to consolidate.\n", jcr->ExpectedFiles);
- }
- if (jcr->ExpectedFiles == 0) {
- free_ua_context(ua);
- free_bsr(rx.bsr);
- return false;
- }
+ Jmsg(jcr, M_INFO, 0, _("Found %d files to consolidate into Virtual Full.\n"),
+ jcr->ExpectedFiles);
free_ua_context(ua);
free_bsr(rx.bsr);
- return true;
+ return jcr->ExpectedFiles==0?false:true;
}