commit b462d8c77bff0789e8a951288dea34226ab8b6d7 Merge: 20c24a8 90281b4 Author: Brian Foley <bpfo...@google.com> Date: Fri Jun 10 14:35:13 2016 +0100
Merge branch 'stable-2.16' into stable-2.17 * stable-2.16 Fix optimisation: Correctly extract secondary node Tune getNodeInstances DRBD secondary computation Get haskell daemons to only compress files > 4kB Use zlib compression level 3 in Haskell RPC code * stable-2.15 Fixup compatibility with GHC 7.4/base 4.5 Manually resolve import conflicts. Signed-off-by: Brian Foley <bpfo...@google.com> diff --cc src/Ganeti/Codec.hs index 9a41499,404c70b..6f54c0d --- a/src/Ganeti/Codec.hs +++ b/src/Ganeti/Codec.hs @@@ -37,21 -37,18 +37,23 @@@ module Ganeti.Code , decompressZlib ) where +import Prelude () +import Ganeti.Prelude + - import Codec.Compression.Zlib (compress) + import Codec.Compression.Zlib import qualified Codec.Compression.Zlib.Internal as I -import Control.Monad.Error +import Control.Monad (liftM) +import Control.Monad.Error.Class (MonadError(..)) import qualified Data.ByteString.Lazy as BL import qualified Data.ByteString.Lazy.Internal as BL -import Data.Monoid (mempty) + +import Ganeti.BasicTypes + -- | Compresses a lazy bytestring. compressZlib :: BL.ByteString -> BL.ByteString - compressZlib = compress + compressZlib = compressWith $ + defaultCompressParams { compressLevel = CompressionLevel 3 } -- | Decompresses a lazy bytestring, throwing decoding errors using -- 'throwError'. diff --cc src/Ganeti/JQScheduler.hs index a229b2f,df6fefc..4c594fa --- a/src/Ganeti/JQScheduler.hs +++ b/src/Ganeti/JQScheduler.hs @@@ -55,22 -52,12 +55,22 @@@ import Control.Applicative (liftA2 import Control.Arrow import Control.Concurrent import Control.Exception -import Control.Monad +import Control.Monad ( when + , mfilter + , liftM + , void + , unless + , forever + , forM_) import Control.Monad.IO.Class import Data.Function (on) - import Data.IORef -import Data.Functor ((<$)) + import Data.IORef (IORef, atomicModifyIORef, newIORef, readIORef) -import Data.List +import Data.List ( find + , deleteFirstsBy + , sortBy + , intercalate + , partition + , insertBy) import Data.Maybe import qualified Data.Map as Map import Data.Ord (comparing)