commit b462d8c77bff0789e8a951288dea34226ab8b6d7
Merge: 20c24a8 90281b4
Author: Brian Foley <[email protected]>
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 <[email protected]>
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)