]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw:fix memory leaks 15382/head
authorweiqiaomiao <wei.qiaomiao@zte.com.cn>
Wed, 1 Jun 2016 09:20:49 +0000 (17:20 +0800)
committerAbhishek Lekshmanan <abhishek@suse.com>
Wed, 31 May 2017 13:14:51 +0000 (15:14 +0200)
Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
(cherry picked from commit 73e5be2b6133cf4caa0e5e5c8c9eae748b785dbf)

src/rgw/rgw_data_sync.cc
src/rgw/rgw_sync.cc

index b7957e5fa6c837a97de7de511cba501f518ba223..28e703629c300a2776f09666630c63d8bfbcfc7d 100644 (file)
@@ -367,6 +367,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 4ff9d1944d6399729e581c8768556df427ef6294..4617cd9dd05ac9870370cd705b7ebf65da4852c6 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;
@@ -951,6 +953,7 @@ public:
       }
       yield {
         int ret = http_op->wait_bl(pbl);
+        http_op->put();
         if (ret < 0) {
           return set_cr_error(ret);
         }