From: Josh Durgin Date: Tue, 6 Jan 2015 23:23:21 +0000 (-0800) Subject: Merge remote-tracking branch 'origin/wip-10270' into master X-Git-Tag: v0.92~61 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6fd348fe43399a882906646004bf3f5a4cf9dabb;p=ceph.git Merge remote-tracking branch 'origin/wip-10270' into master Reviewed-by: Josh Durgin Conflicts: src/librados/IoCtxImpl.cc src/librados/IoCtxImpl.h --- 6fd348fe43399a882906646004bf3f5a4cf9dabb diff --cc src/librados/IoCtxImpl.cc index 2af3d6f499cf,c9ec7223d4d9..6764d72300ab --- a/src/librados/IoCtxImpl.cc +++ b/src/librados/IoCtxImpl.cc @@@ -33,14 -33,13 +33,14 @@@ librados::IoCtxImpl::IoCtxImpl() } librados::IoCtxImpl::IoCtxImpl(RadosClient *c, Objecter *objecter, - int poolid, - Mutex *client_lock, int64_t poolid, ++ int64_t poolid, const char *pool_name, snapid_t s) : ref_cnt(0), client(c), poolid(poolid), pool_name(pool_name), snap_seq(s), - assert_ver(0), notify_timeout(c->cct->_conf->client_notify_timeout), + assert_ver(0), last_objver(0), + notify_timeout(c->cct->_conf->client_notify_timeout), oloc(poolid), aio_write_list_lock("librados::IoCtxImpl::aio_write_list_lock"), - aio_write_seq(0), lock(client_lock), objecter(objecter) + aio_write_seq(0), objecter(objecter) { } diff --cc src/librados/IoCtxImpl.h index 4235f13a4af8,3147ae5dc0d8..ab73cfa390ff --- a/src/librados/IoCtxImpl.h +++ b/src/librados/IoCtxImpl.h @@@ -50,8 -50,9 +50,8 @@@ struct librados::IoCtxImpl Objecter *objecter; IoCtxImpl(); - IoCtxImpl(RadosClient *c, Objecter *objecter, Mutex *client_lock, + IoCtxImpl(RadosClient *c, Objecter *objecter, - int poolid, const char *pool_name, snapid_t s); + int64_t poolid, const char *pool_name, snapid_t s); void dup(const IoCtxImpl& rhs) { // Copy everything except the ref count diff --cc src/librados/RadosClient.cc index 10aad97eee18,e0e78464f7fc..ad018325ed93 --- a/src/librados/RadosClient.cc +++ b/src/librados/RadosClient.cc @@@ -352,6 -344,19 +352,19 @@@ int librados::RadosClient::create_ioctx return 0; } + int librados::RadosClient::create_ioctx(int64_t pool_id, IoCtxImpl **io) + { + std::string pool_name; + int r = pool_get_name(pool_id, &pool_name); + if (r < 0) { + return r; + } + - *io = new librados::IoCtxImpl(this, objecter, &lock, pool_id, pool_name.c_str(), ++ *io = new librados::IoCtxImpl(this, objecter, pool_id, pool_name.c_str(), + CEPH_NOSNAP); + return 0; + } + bool librados::RadosClient::ms_dispatch(Message *m) { bool ret;