get() in ctor, put() in dtor.
Signed-off-by: Sage Weil <sage@inktank.com>
librados::RadosClient::RadosClient(CephContext *cct_)
: Dispatcher(cct_),
- cct(cct_),
+ cct(cct_->get()),
conf(cct_->_conf),
state(DISCONNECTED),
monclient(cct_),
librados::RadosClient *radosp = new librados::RadosClient(cct);
*pcluster = (void *)radosp;
+
+ cct->put();
return 0;
}
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;
}