]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
compressor/zlib: fix plugin for non-Intel arches
authorDan Mick <dan.mick@redhat.com>
Thu, 4 May 2017 03:17:32 +0000 (20:17 -0700)
committerDan Mick <dan.mick@redhat.com>
Thu, 4 May 2017 03:17:32 +0000 (20:17 -0700)
unittest_compressor was failing on arm64 because the zlib
compressor was never initialized, even though it works fine in
non-isal mode

Signed-off-by: Dan Mick <dan.mick@redhat.com>
src/compressor/zlib/CompressionPluginZlib.h

index 5716e417d22080a89f7ec8f8d1d9170dfc669884..0aa641f8bb66b689cbc1326fd1b51c5a7d399c6a 100644 (file)
@@ -35,19 +35,18 @@ public:
   int factory(CompressorRef *cs,
                       std::ostream *ss) override
   {
+    bool isal = false;
 #if defined(__i386__) || defined(__x86_64__)
-    bool isal;
+    // other arches or lack of support result in isal = false
     if (cct->_conf->compressor_zlib_isal) {
       ceph_arch_probe();
       isal = (ceph_arch_intel_pclmul && ceph_arch_intel_sse41);
-    } else {
-      isal = false;
     }
+#endif
     if (compressor == 0 || has_isal != isal) {
       compressor = std::make_shared<ZlibCompressor>(isal);
       has_isal = isal;
     }
-#endif
     *cs = compressor;
     return 0;
   }