--- ./source/private_module/spa/space_mgr/ckg_mgr_obj.c	2018-04-21 08:47:47.000000000 +0000
+++ ./source/private_module/spa/space_mgr/ckg_mgr_obj.c.hotpatch	2022-03-29 08:53:01.000000000 +0000
@@ -3854,41 +3854,43 @@
     CKG_MGR_COMM_STRUCT_S *ckgMgrCommStruct = NULL;
     SPACE_CKG_GENIO_S  genIo;
     int32_t            result;
-    
+    META_OBJECT_S      *mobj    = NULL;
+    TREE_OBJECT_S      *treeObj = NULL;
     poolId = (poolid_t)req->producerPrivate[POOLID_INDEX];
     zoneId = (zoneid_t)req->producerPrivate[ZONEID_INDEX];
-    
     ckgMgrCommStruct = (CKG_MGR_COMM_STRUCT_S *)(ptrdiff_t)req->producerPrivate[CKGINFOPTR_INDEX];
-
-    //atomic64_inc(&g_spaceMgrCkgCnt[poolId][DEL_SPARE_CK]);
-
     mkey = &genIo.mkey;
     mkey->type     = MOBJ_ZONE_SPARE_CK;
     mkey->poolId   = poolId;
     mkey->volumeId = generateVolumeIdByPool(poolId, SPA_METADATA_VOL_GENTYPE);
     mkey->oid      = zoneId;
-
-    /*  GENIO ϢREQ */
-    /* ｫҪ */
+    mobj = getMobj(mkey);
+    if (unlikely(mobj == NULL)) {
+        SPA_LIMIT_PRINT_ERROR(NO_LOGID, "Get meta obj failed, pool(%u) type(%u) oid(%llu).", mkey->poolId, mkey->type, mkey->oid);
+        req->result = RETURN_ERROR;
+        return ckgObjActionDone(req);
+    }
+    treeObj = (TREE_OBJECT_S *)(void *)mobj;
+    if (treeObj->btreeInst.dataItemNum == 0) {
+        putMobj(mobj);
+        req->result = RETURN_OK;
+        return ckgObjActionDone(req);
+    }
+    putMobj(mobj);
     genIo.metaOpsType = DEL_META;
     genIo.metaId      = ckgMgrCommStruct->spareCkInfo[0].ckgId;
     genIo.tx          = req->producerPrivate[TX_INDEX];
-
     result = genIo2Req(&genIo, &childReq);
     if (RETURN_OK != result)
     {
         SPA_LIMIT_PRINT_DEBUG(SPACE_MGR_ID014F, 
                "GenIo2Req function failed so delete hot spare chunk failed.");
         req->result = RETURN_ERROR;
-
         return ckgObjActionDone(req);
     }
-    
     childReq->parent = req;    
     atomic_inc(&req->notBackNum); 
-    
     IOD_ADD_STARTQ(childReq);    
-    
     return RETURN_OK;      
 }
 
@@ -3896,8 +3898,6 @@
      :  ޸ȱck
  :  req : req
  :  
- ֵ  :  RETURN_OK, RETURN_ERROR
-     : 
 **************************************************************************/
 int32_t modifySpareCkBatch(REQ_S *req)
 {
