diff options
author | Sage Weil <sage@inktank.com> | 2012-07-11 09:04:50 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2012-07-11 09:04:50 -0700 |
commit | 22d0648db224f181914882787b25b36e2eac38b0 (patch) | |
tree | d44cb21efb43837ae6a5b5cd6c4e19fa65f09e5c | |
parent | c5bcb04b9a33ab8f2bfbc6cf4e759105b32b21b1 (diff) | |
download | ceph-22d0648db224f181914882787b25b36e2eac38b0.tar.gz |
librados: simplify cct refcounting
get() in ctor, put() in dtor.
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/librados/RadosClient.cc | 2 | ||||
-rw-r--r-- | src/librados/librados.cc | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/librados/RadosClient.cc b/src/librados/RadosClient.cc index ecf923f7511..63813ffe2aa 100644 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@ -57,7 +57,7 @@ bool librados::RadosClient::ms_get_authorizer(int dest_type, librados::RadosClient::RadosClient(CephContext *cct_) : Dispatcher(cct_), - cct(cct_), + cct(cct_->get()), conf(cct_->_conf), state(DISCONNECTED), monclient(cct_), diff --git a/src/librados/librados.cc b/src/librados/librados.cc index 48fd5dc255b..a50c67b6314 100644 --- a/src/librados/librados.cc +++ b/src/librados/librados.cc @@ -1287,6 +1287,8 @@ extern "C" int rados_create(rados_t *pcluster, const char * const id) librados::RadosClient *radosp = new librados::RadosClient(cct); *pcluster = (void *)radosp; + + cct->put(); return 0; } @@ -1297,7 +1299,7 @@ extern "C" int rados_create(rados_t *pcluster, const char * const id) extern "C" int rados_create_with_context(rados_t *pcluster, rados_config_t cct_) { CephContext *cct = (CephContext *)cct_; - librados::RadosClient *radosp = new librados::RadosClient(cct->get()); + librados::RadosClient *radosp = new librados::RadosClient(cct); *pcluster = (void *)radosp; return 0; } |