From: Casey Bodley Date: Thu, 25 Oct 2018 20:46:54 +0000 (-0400) Subject: rgw: RADOS::Pool::create() for single pool X-Git-Tag: v14.1.0~965^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d75e7a9fa9073672b683798a1088588f97da155e;p=ceph.git rgw: RADOS::Pool::create() for single pool Signed-off-by: Casey Bodley --- diff --git a/src/rgw/services/svc_rados.cc b/src/rgw/services/svc_rados.cc index 43d58d0ec874..3a466db4d688 100644 --- a/src/rgw/services/svc_rados.cc +++ b/src/rgw/services/svc_rados.cc @@ -206,6 +206,28 @@ uint64_t RGWSI_RADOS::Obj::get_last_version() return ref.ioctx.get_last_version(); } +int RGWSI_RADOS::Pool::create() +{ + librados::Rados *rad = rados_svc->get_rados_handle(rados_handle); + int r = rad->pool_create(pool.name.c_str()); + if (r < 0) { + ldout(rados_svc->cct, 0) << "WARNING: pool_create returned " << r << dendl; + return r; + } + librados::IoCtx io_ctx; + r = rad->ioctx_create(pool.name.c_str(), io_ctx); + if (r < 0) { + ldout(rados_svc->cct, 0) << "WARNING: ioctx_create returned " << r << dendl; + return r; + } + r = io_ctx.application_enable(pg_pool_t::APPLICATION_NAME_RGW, false); + if (r < 0) { + ldout(rados_svc->cct, 0) << "WARNING: application_enable returned " << r << dendl; + return r; + } + return 0; +} + int RGWSI_RADOS::Pool::create(const vector& pools, vector *retcodes) { vector completions; diff --git a/src/rgw/services/svc_rados.h b/src/rgw/services/svc_rados.h index 0f63e64b9da1..7225cf2e6734 100644 --- a/src/rgw/services/svc_rados.h +++ b/src/rgw/services/svc_rados.h @@ -115,6 +115,7 @@ public: public: Pool() {} + int create(); int create(const std::vector& pools, std::vector *retcodes); int lookup();