From ff6bc74250759f571edd9128fe3f2e92f9fff5bb Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 9 Jun 2016 00:04:44 +0800 Subject: [PATCH] librados: get_pool_name() should not return ref of a local variable was introduced by 1a44e6f Signed-off-by: Kefu Chai --- src/include/rados/librados.hpp | 2 +- src/librados/IoCtxImpl.cc | 3 +-- src/librados/IoCtxImpl.h | 2 +- src/librados/librados.cc | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp index ece7cc516b802..ffbc58198e072 100644 --- a/src/include/rados/librados.hpp +++ b/src/include/rados/librados.hpp @@ -1120,7 +1120,7 @@ namespace librados int cache_pin(const std::string& o); int cache_unpin(const std::string& o); - const std::string& get_pool_name() const; + std::string get_pool_name() const; void locator_set_key(const std::string& key); void set_namespace(const std::string& nspace); diff --git a/src/librados/IoCtxImpl.cc b/src/librados/IoCtxImpl.cc index 7cc2799bac2fc..1b29d1eeea878 100644 --- a/src/librados/IoCtxImpl.cc +++ b/src/librados/IoCtxImpl.cc @@ -316,11 +316,10 @@ void librados::IoCtxImpl::flush_aio_writes() aio_write_list_lock.Unlock(); } -const string& librados::IoCtxImpl::get_cached_pool_name() +string librados::IoCtxImpl::get_cached_pool_name() { std::string pn; client->pool_get_name(get_id(), &pn); - return pn; } diff --git a/src/librados/IoCtxImpl.h b/src/librados/IoCtxImpl.h index 5cc300e3ff83a..19fd0b5b6b7e7 100644 --- a/src/librados/IoCtxImpl.h +++ b/src/librados/IoCtxImpl.h @@ -87,7 +87,7 @@ struct librados::IoCtxImpl { return poolid; } - const string& get_cached_pool_name(); + string get_cached_pool_name(); int get_object_hash_position(const std::string& oid, uint32_t *hash_postion); int get_object_pg_hash_position(const std::string& oid, uint32_t *pg_hash_position); diff --git a/src/librados/librados.cc b/src/librados/librados.cc index 7fe1239c39f13..018e53f76e1ee 100644 --- a/src/librados/librados.cc +++ b/src/librados/librados.cc @@ -1159,7 +1159,7 @@ std::string librados::IoCtx::get_pool_name() return s; } -const std::string& librados::IoCtx::get_pool_name() const +std::string librados::IoCtx::get_pool_name() const { return io_ctx_impl->get_cached_pool_name(); } -- 2.39.5