}
/*
- * Override storage from run parameters if set.
+ * The Job storage definition must be either in the Job record
+ * or in the Pool record. The Pool record overrides the Job
+ * record.
*/
void get_job_storage(USTORE *store, JOB *job, RUN *run)
{
pm_strcpy(store->store_source, _("Run storage override"));
return;
}
+
+ if (job) {
+ if (job->pool->storage) {
+ store->store = (STORE *)job->pool->storage->first();
+ pm_strcpy(store->store_source, _("Pool resource"));
+ return;
+ } else {
+ store->store = (STORE *)job->storage->first();
+ pm_strcpy(store->store_source, _("Job resource"));
+ }
+ }
}
/* Init storage manager with specified storage group policy */
ua->send_msg("messages=%s", job->messages->name());
ua->send_msg("client=%s", job->client?job->client->name():_("*None*"));
get_job_storage(&store, job, NULL);
- ua->send_msg("storage=%s", store.store->name());
+ ua->send_msg("storage=%s", store.store ? store.store->name() :_("*None*"));
ua->send_msg("where=%s", job->RestoreWhere?job->RestoreWhere:"");
ua->send_msg("level=%s", level_to_str(edl, sizeof(edl),job->JobLevel));
ua->send_msg("type=%s", job_type_to_str(job->JobType));
}
}
- if (!rc.store->store) {
- get_job_storage(rc.store, rc.job, NULL); /* use default */
- }
if (rc.store->store && !acl_access_ok(ua, Storage_ACL, rc.store->store->name())) {
ua->error_msg(_("No authorization. Storage \"%s\".\n"),
rc.store->store->name());