X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Frgw%2Fdriver%2Frados%2Frgw_tools.cc;h=66651da5cc8ca7003ef6ba0957db7934c7047837;hb=05a536ef04248702f72713fd2fe81cb055624784;hp=1c2951c4bcd172c09e7d6a953f888c21c3835e57;hpb=ab27109dd2e88c6e1082a346b3be8444697297c6;p=ceph.git diff --git a/ceph/src/rgw/driver/rados/rgw_tools.cc b/ceph/src/rgw/driver/rados/rgw_tools.cc index 1c2951c4b..66651da5c 100644 --- a/ceph/src/rgw/driver/rados/rgw_tools.cc +++ b/ceph/src/rgw/driver/rados/rgw_tools.cc @@ -21,7 +21,8 @@ using namespace std; int rgw_init_ioctx(const DoutPrefixProvider *dpp, librados::Rados *rados, const rgw_pool& pool, librados::IoCtx& ioctx, bool create, - bool mostly_omap) + bool mostly_omap, + bool bulk) { int r = rados->ioctx_create(pool.name.c_str(), ioctx); if (r == -ENOENT && create) { @@ -73,6 +74,18 @@ int rgw_init_ioctx(const DoutPrefixProvider *dpp, << pool.name << dendl; } } + if (bulk) { + // set bulk + bufferlist inbl; + int r = rados->mon_command( + "{\"prefix\": \"osd pool set\", \"pool\": \"" + + pool.name + "\", \"var\": \"bulk\", \"val\": \"true\"}", + inbl, NULL, NULL); + if (r < 0) { + ldpp_dout(dpp, 10) << __func__ << " warning: failed to set 'bulk' on " + << pool.name << dendl; + } + } } else if (r < 0) { return r; }