From: Dan Mick Date: Thu, 4 May 2017 03:17:32 +0000 (-0700) Subject: compressor/zlib: fix plugin for non-Intel arches X-Git-Tag: v12.0.3~104^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=84e47f3e82f48e9d363369136711c76b403713c9;p=ceph.git compressor/zlib: fix plugin for non-Intel arches 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 --- diff --git a/src/compressor/zlib/CompressionPluginZlib.h b/src/compressor/zlib/CompressionPluginZlib.h index 5716e417d2208..0aa641f8bb66b 100644 --- a/src/compressor/zlib/CompressionPluginZlib.h +++ b/src/compressor/zlib/CompressionPluginZlib.h @@ -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(isal); has_isal = isal; } -#endif *cs = compressor; return 0; }