]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw:fix memory leaks 9420/head
authorweiqiaomiao <wei.qiaomiao@zte.com.cn>
Wed, 1 Jun 2016 09:20:49 +0000 (17:20 +0800)
committerweiqiaomiao <wei.qiaomiao@zte.com.cn>
Wed, 1 Jun 2016 09:20:49 +0000 (17:20 +0800)
Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
src/rgw/rgw_data_sync.cc
src/rgw/rgw_sync.cc

index ef4e43412cb198fdb17b1197a4842e3056656028..383607d0f91c446ed6377dbe166e2ac96dba2d3d 100644 (file)
@@ -298,6 +298,7 @@ public:
 
   int request_complete() {
     int ret = http_op->wait(result);
+    http_op->put();
     if (ret < 0 && ret != -ENOENT) {
       ldout(sync_env->store->ctx(), 0) << "ERROR: failed to list remote datalog shard, ret=" << ret << dendl;
       return ret;
index dab98fce5910855df136079af8fd9b69c2b1f593..10f4e7f520128cdf2303fa2063a54d5d8d320f52 100644 (file)
@@ -494,6 +494,7 @@ public:
       }
       yield {
         int ret = http_op->wait(shard_info);
+        http_op->put();
         if (ret < 0) {
           return set_cr_error(ret);
         }
@@ -558,6 +559,7 @@ public:
 
   int request_complete() {
     int ret = http_op->wait(result);
+    http_op->put();
     if (ret < 0 && ret != -ENOENT) {
       ldout(sync_env->store->ctx(), 0) << "ERROR: failed to list remote mdlog shard, ret=" << ret << dendl;
       return ret;
@@ -948,6 +950,7 @@ public:
       }
       yield {
         int ret = http_op->wait_bl(pbl);
+        http_op->put();
         if (ret < 0) {
           return set_cr_error(ret);
         }