]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rgw/driver/rados/rgw_tools.cc
update ceph source to reef 18.2.0
[ceph.git] / ceph / src / rgw / driver / rados / rgw_tools.cc
index 1c2951c4bcd172c09e7d6a953f888c21c3835e57..66651da5cc8ca7003ef6ba0957db7934c7047837 100644 (file)
@@ -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;
   }