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 |