]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/compressor: update the interfaces and data structures 52447/head
authorLiu Miaomiao <miaomiao.liu@intel.com>
Fri, 14 Jul 2023 06:46:04 +0000 (06:46 +0000)
committerLiu Miaomiao <miaomiao.liu@intel.com>
Fri, 14 Jul 2023 06:46:04 +0000 (06:46 +0000)
Signed-off-by: Liu Miaomiao <miaomiao.liu@intel.com>
src/compressor/QatAccel.cc

index 561fcc9967f547a76e0f1e00602aadff2402bb87..de19ccfa358eba0c36ece2be00df509d01079de4 100644 (file)
@@ -42,38 +42,28 @@ void QzSessionDeleter::operator() (struct QzSession_S *session) {
   delete session;
 }
 
-static bool get_qz_params(const std::string &alg, QzSessionParams_T &params) {
+static bool setup_session(const std::string &alg, QatAccel::session_ptr &session) {
   int rc;
-  rc = qzGetDefaults(&params);
-  if (rc != QZ_OK)
+  rc = qzInit(session.get(), QZ_SW_BACKUP_DEFAULT);
+  if (rc != QZ_OK && rc != QZ_DUPLICATE)
     return false;
-  params.direction = QZ_DIR_BOTH;
-  params.is_busy_polling = true;
   if (alg == "zlib") {
-    params.comp_algorithm = QZ_DEFLATE;
+    QzSessionParamsDeflate_T params;
+    rc = qzGetDefaultsDeflate(&params);
+    if (rc != QZ_OK)
+      return false;
     params.data_fmt = QZ_DEFLATE_RAW;
-    params.comp_lvl = g_ceph_context->_conf->compressor_zlib_level;
+    params.common_params.comp_algorithm = QZ_DEFLATE;
+    params.common_params.comp_lvl = g_ceph_context->_conf->compressor_zlib_level;
+    params.common_params.direction = QZ_DIR_BOTH;
+    rc = qzSetupSessionDeflate(session.get(), &params);
+    if (rc != QZ_OK)
+      return false;
   }
   else {
     // later, there also has lz4.
     return false;
   }
-
-  rc = qzSetDefaults(&params);
-  if (rc != QZ_OK)
-      return false;
-  return true;
-}
-
-static bool setup_session(QatAccel::session_ptr &session, QzSessionParams_T &params) {
-  int rc;
-  rc = qzInit(session.get(), QZ_SW_BACKUP_DEFAULT);
-  if (rc != QZ_OK && rc != QZ_DUPLICATE)
-    return false;
-  rc = qzSetupSession(session.get(), &params);
-  if (rc != QZ_OK) {
-    return false;
-  }
   return true;
 }
 
@@ -113,10 +103,9 @@ QatAccel::session_ptr QatAccel::get_session() {
 
   // If there are no available session to use, we try allocate a new
   // session.
-  QzSessionParams_T params = {(QzHuffmanHdr_T)0,};
   session_ptr session(new struct QzSession_S());
   memset(session.get(), 0, sizeof(struct QzSession_S));
-  if (get_qz_params(alg_name, params) && setup_session(session, params)) {
+  if (setup_session(alg_name, session)) {
     return session;
   } else {
     return nullptr;