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)

Reply via email to