Ack, will fix.
On Fri, Jul 4, 2014 at 2:00 PM, Klaus Aehlig <[email protected]> wrote: > On Fri, Jul 04, 2014 at 01:17:57PM +0200, 'Petr Pudlak' via ganeti-devel > wrote: > > Currently, the part that loads/saves locks is generic, with no lock > > specifics. Abstract it so that it can be reused for temporary > > reservations. > > > > Signed-off-by: Petr Pudlak <[email protected]> > > --- > > Makefile.am | 1 + > > src/Ganeti/Locking/Locks.hs | 41 +------------ > > src/Ganeti/WConfd/DeathDetection.hs | 4 +- > > src/Ganeti/WConfd/Persistent.hs | 114 > ++++++++++++++++++++++++++++++++++++ > > src/Ganeti/WConfd/Server.hs | 18 ++---- > > 5 files changed, 123 insertions(+), 55 deletions(-) > > create mode 100644 src/Ganeti/WConfd/Persistent.hs > > > > +-- | Load a persistent data structure from disk. > > +readPersistent :: (J.JSON a) => Persistent a -> ResultG a > > +readPersistent pers = do > > + logDebug $ "Reading " ++ persName pers > > + file <- liftIO $ persPath pers > > + file_present <- liftIO $ doesFileExist file > > + if file_present > > + then > > + liftIO (persPath pers >>= readFile) > > + >>= J.fromJResultE ("parsing " ++ persName pers) . > J.decodeStrict > > + else do > > + logInfo $ "Note: No saved data for " ++ persName pers > > + ++ ", silently assuming empty." > > s/silently/tacitly > > > + return (persEmpty pers) > > > Rest LGTM. No need to resend. > > -- > 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 >
