diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-09-30 15:44:25 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-09-30 15:44:25 -0700 |
commit | 8912462f0c9956d1162567de51efa65f268d0d9d (patch) | |
tree | feef59bb7724ecece8dcc846d52b4bbe155ded87 | |
parent | 46057925a8d409e70d29a073fe2afaff94333c36 (diff) | |
download | ceph-8912462f0c9956d1162567de51efa65f268d0d9d.tar.gz |
rgw: drop async pool create completion reference
Fixes: #6444
Backport: dumpling
If pool creation fails (e.g., due to -EEXIST) then we leak the
completion object. Earlier we couldn't just drop the reference, as
librados have already removed the internal completion object. This fix
drop the completion reference even if got an error, which is now
possible.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r-- | src/rgw/rgw_rados.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 1b97f28e2fa..cf679c50313 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -2182,8 +2182,8 @@ int RGWRados::create_pools(vector<string>& names, vector<int>& retcodes) if (r < 0) { ldout(cct, 0) << "WARNING: async pool_create returned " << r << dendl; } - c->release(); } + c->release(); retcodes.push_back(r); } return 0; |