bareos2015: bareos-14.2 a7448323
Author | Committer | Branch | Timestamp | Parent | |
---|---|---|---|---|---|
mvwieringen | mvwieringen | bareos-14.2 | 2013-09-04 13:10 | bareos-14.2 8085e55a | Pending |
Affected Issues | 0000220: Copy job definition requires unnecessary settings | ||||
Changeset | Copy job definition requires unnecessary settings When configuring a Migration or Copy Job you need to specify a Client and Fileset although those items are never used in the Job as it selects via a certain selection criterium the Jobs it needs to Migrate or Copy and uses the Client and Fileset of that original Job. We relaxed the configuration engine to no longer make the Client and Fileset keyword required keywords. In the check_resources() function we now check after the required keyword check what type of Job is configured and when its not a Migration or Copy Job we still fail the configuration check as for any Job not being a Migration or Copy Job we still need the Client and Fileset. We also needed to check in a lot of places if we have a Client or Fileset for the current running Job as a lot of code assumes that there always is a Client or Fileset. This is of course a bad assumption and hopefully we found all places where these wrong assumptions are made and the Jobs Client or Fileset pointer is dereferenced without a check. This new code passed a full regression test both with the old configs for Migrate and Copy with a dummy Client and Fileset and without. Fixes 0000220: Copy job definition requires unnecessary settings |
||||
mod - src/dird/backup.c | Diff File | ||||
mod - src/dird/dird.c | Diff File | ||||
mod - src/dird/dird_conf.c | Diff File | ||||
mod - src/dird/job.c | Diff File | ||||
mod - src/dird/jobq.c | Diff File | ||||
mod - src/dird/migrate.c | Diff File | ||||
mod - src/dird/msgchan.c | Diff File | ||||
mod - src/dird/ndmp_dma.c | Diff File | ||||
mod - src/dird/protos.h | Diff File | ||||
mod - src/dird/quota.c | Diff File | ||||
mod - src/dird/restore.c | Diff File | ||||
mod - src/dird/ua_cmds.c | Diff File | ||||
mod - src/dird/ua_run.c | Diff File | ||||
mod - src/dird/verify.c | Diff File | ||||
mod - src/stored/askdir.c | Diff File |