{"Pool", store_res, ITEM(res_job.pool), R_POOL, ITEM_REQUIRED, 0},
{"NextPool", store_res, ITEM(res_job.next_pool), R_POOL, 0, 0},
{"FullBackupPool", store_res, ITEM(res_job.full_pool), R_POOL, 0, 0},
+ {"VirtualFullBackupPool", store_res, ITEM(res_job.vfull_pool), R_POOL, 0, 0},
{"IncrementalBackupPool", store_res, ITEM(res_job.inc_pool), R_POOL, 0, 0},
{"DifferentialBackupPool", store_res, ITEM(res_job.diff_pool), R_POOL, 0, 0},
{"Client", store_res, ITEM(res_job.client), R_CLIENT, ITEM_REQUIRED, 0},
{"MaxWaitTime", store_time, ITEM(res_job.MaxWaitTime), 0, 0, 0},
{"MaxStartDelay",store_time, ITEM(res_job.MaxStartDelay), 0, 0, 0},
{"MaxFullInterval", store_time, ITEM(res_job.MaxFullInterval), 0, 0, 0},
+ {"MaxVirtualFullInterval", store_time, ITEM(res_job.MaxVirtualFullInterval), 0, 0, 0},
{"MaxDiffInterval", store_time, ITEM(res_job.MaxDiffInterval), 0, 0, 0},
{"PrefixLinks", store_bool, ITEM(res_job.PrefixLinks), 0, ITEM_DEFAULT, false},
{"PruneJobs", store_bool, ITEM(res_job.PruneJobs), 0, ITEM_DEFAULT, false},
sendit(sock, _(" --> "));
dump_resource(-R_POOL, (RES *)res->res_job.pool, sendit, sock);
}
+ if (res->res_job.vfull_pool) {
+ sendit(sock, _(" --> VFullBackup"));
+ dump_resource(-R_POOL, (RES *)res->res_job.vfull_pool, sendit, sock);
+ }
if (res->res_job.full_pool) {
sendit(sock, _(" --> FullBackup"));
dump_resource(-R_POOL, (RES *)res->res_job.full_pool, sendit, sock);
res->res_job.pool = res_all.res_job.pool;
res->res_job.next_pool = res_all.res_job.next_pool;
res->res_job.full_pool = res_all.res_job.full_pool;
+ res->res_job.vfull_pool = res_all.res_job.vfull_pool;
res->res_job.inc_pool = res_all.res_job.inc_pool;
res->res_job.diff_pool = res_all.res_job.diff_pool;
res->res_job.verify_job = res_all.res_job.verify_job;
djcr->getJobType() == 'B' && jcr->getJobType() == 'B') {
switch (jcr->getJobLevel()) {
case L_FULL:
+ case L_VIRTUAL_FULL:
if (djcr->getJobLevel() == L_DIFFERENTIAL ||
djcr->getJobLevel() == L_INCREMENTAL) {
cancel_dup = true;
}
}
break;
+ case L_VIRTUAL_FULL:
+ if (jcr->vfull_pool) {
+ jcr->pool = jcr->vfull_pool;
+ pool_override = true;
+ if (jcr->run_vfull_pool_override) {
+ pm_strcpy(jcr->pool_source, _("Run VFullPool override"));
+ } else {
+ pm_strcpy(jcr->pool_source, _("Job VFullPool override"));
+ }
+ }
+ break;
case L_INCREMENTAL:
if (jcr->inc_pool) {
jcr->pool = jcr->inc_pool;
pm_strcpy(jcr->next_pool_source, _("Job Pool's NextPool resource"));
}
jcr->full_pool = job->full_pool;
+ jcr->vfull_pool = job->vfull_pool;
jcr->inc_pool = job->inc_pool;
jcr->diff_pool = job->diff_pool;
if (job->pool->catalog) {