common/compressor: fix the issue that read more data
Reviewed-by: Casey Bodley <cbodley@redhat.com>
#endif
}
-int ZlibCompressor::decompress(bufferlist::const_iterator &p, size_t compressed_size, bufferlist &out, boost::optional<int32_t> compressor_message)
+int ZlibCompressor::decompress(bufferlist::const_iterator &p, size_t compressed_size, bufferlist &out, std::optional<int32_t> compressor_message)
{
#ifdef HAVE_QATZIP
- if (qat_enabled)
+ // QAT can only decompress with the default window size
+ if (qat_enabled && (!compressor_message || *compressor_message == ZLIB_DEFAULT_WIN_SIZE))
return qat_accel.decompress(p, compressed_size, out, compressor_message);
#endif