On Fri, Jul 04, 2014 at 01:18:06PM +0200, 'Petr Pudlak' via ganeti-devel wrote:
> In particular, for reserving a value given the set of reserved ones,
> looking up networks by a UUID and for creating stateful computations.
> 
> Signed-off-by: Petr Pudlak <[email protected]>
> ---
>  src/Ganeti/WConfd/TempRes.hs | 55 
> +++++++++++++++++++++++++++++++++-----------
>  1 file changed, 41 insertions(+), 14 deletions(-)
> 
> diff --git a/src/Ganeti/WConfd/TempRes.hs b/src/Ganeti/WConfd/TempRes.hs
> index 145ca9b..96a3bf9 100644
> --- a/src/Ganeti/WConfd/TempRes.hs
> +++ b/src/Ganeti/WConfd/TempRes.hs
> @@ -224,17 +224,31 @@ dropReservationsFor jobid = TempRes . MM.deleteAll 
> jobid . getTempRes
>  reserved :: (Ord a, Ord j) => TempRes j a -> S.Set a
>  reserved = MM.values . getTempRes
>  
> +-- | Computes the set of all reserved resources reserved

s/reserved$//

> +-- and passes it to the given function.
> +-- This allows it to avoid resources that are already in use.
> +withReserved :: (MonadError GanetiException m, Show a, Ord a, Ord j)
> +             => j -> (S.Set a -> m a) -> TempRes j a -> m (a, TempRes j a)
> +withReserved jobid genfn tr = do
> +  x <- genfn (reserved tr)
> +  (,) x `liftM` reserve jobid x tr

Rest LGTM

-- 
Klaus Aehlig
Google Germany GmbH, Dienerstr. 12, 80331 Muenchen
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschaeftsfuehrer: Graham Law, Christine Elizabeth Flores

Reply via email to