LGTM, thanks
On Wed, Feb 19, 2014 at 6:07 PM, Klaus Aehlig <[email protected]> wrote: > As owning a group lock has the same effect as owning a > group of locks, some restrictions have to be added to > to avoid dead locks. Document them. > > Signed-off-by: Klaus Aehlig <[email protected]> > --- > doc/design-daemons.rst | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/doc/design-daemons.rst b/doc/design-daemons.rst > index aab898e..4bc2440 100644 > --- a/doc/design-daemons.rst > +++ b/doc/design-daemons.rst > @@ -439,6 +439,17 @@ protocol will allow the following operations on the > set: > provided for convenience, it's redundant wrt. *list* and *update*. > Immediate, > never fails. > > +Addidional restrictions due to lock implications: > + Ganeti supports locks that act as if a lock on a whole group (like all > nodes) > + were held. To avoid dead locks caused by the additional blockage of > those > + group locks, we impose certain restrictions. Whenever `A` is a group > lock and > + `B` belongs to `A`, then the following holds. > + > + - `A` is in lock order before `B`. > + - All locks that are in the lock order between `A` and `B` also belong > to `A`. > + - It is considered a lock-order violation to ask for an exclusive lock > on `B` > + while holding a shared lock on `A`. > + > After this step it'll be possible to use locks from jobs as separate > processes. > > The above set of operations allows the clients to use various work-flows. > In particular: > -- > 1.9.0.rc1.175.g0b1dcb5 > > -- -- Helga Velroyen | Software Engineer | [email protected] | Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
