bareos: master e6425a10

Author Committer Branch Timestamp Parent
Marco van Wieringen Marco van Wieringen master 2014-10-12 20:42 master 80dc343d Pending
Changeset First refactoring of Migrate/Copy selection code.

Copy and migration jobs do the selection as part of the migration_init
function in migrate.c. This means that this selection is done before
the actual copy Job is about to run due to Job priority etc. As such
it looks as if they are executed directly after being scheduled and
do not respect maximum job settings. It would be nice if the selection
of the jobs to be copied would be done when a normal job would start
as such we moved the selection code to the do_migration() function
which gets executed when the actual migration/copy Job is really
executing.

Copy and migration jobs used to make n-1 queued jobs and does one job
itself. Also, the job seems to change its id to become the worker job.
Wouldn't it be much better if the copy job would only queue new worker
jobs for all jobids selected and terminate afterwards.

Also made the number of Job a copy/migrate Job can spawn configurable
instead of a hardcoded value of 100.

Fixes 0000342: copy job enhancements
mod - src/dird/dird_conf.c Diff File
mod - src/dird/dird_conf.h 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/ua_run.c Diff File
mod - src/include/jcr.h Diff File