bareos: master fa7a54a3

Author Committer Branch Timestamp Parent
mvwieringen mvwieringen master 2015-02-21 12:20 master f9690a12 Pending
Changeset Fix split brain problem.

The storage daemon asks the director for the next volume to use but it
can happen that this volume is already loaded but due to restrictions in
the storage daemon config the job cannot reserve the volume for append.
In the previous code this would lead to the storage daemon asking for
a new volume and getting exactly the same as the director has no
knowledge of the reservation limitiations but then the Storage daemon
would give up as it already knows that the volume cannot be used. This
patch adds some stop-gap logic in which we let the director know what
volumes we already tried and which we don't want to get in return for
the next available volume. The real problem is that the reservation
logic is split between DIR and SD without both having a full overview of
reality so this is bound to fail. The only real solution is a redesign
of the whole reservation logic from scratch without trying to work
around the weird way things work now.
mod - src/cats/protos.h Diff File
mod - src/cats/sql_find.c Diff File
mod - src/dird/catreq.c Diff File
mod - src/dird/dird.h Diff File
mod - src/dird/next_vol.c Diff File
mod - src/dird/protos.h Diff File
mod - src/dird/recycle.c Diff File
mod - src/dird/ua_output.c Diff File
mod - src/dird/ua_status.c Diff File
mod - src/stored/askdir.c Diff File