]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_test_objectstore_workloadgen: set pgmeta omap instead of collection xattr
authorSage Weil <sage@redhat.com>
Fri, 5 Dec 2014 21:52:42 +0000 (13:52 -0800)
committerSage Weil <sage@redhat.com>
Wed, 17 Dec 2014 01:07:59 +0000 (17:07 -0800)
Signed-off-by: Sage Weil <sage@redhat.com>
src/test/objectstore/TestObjectStoreState.h
src/test/objectstore/workload_generator.cc
src/test/objectstore/workload_generator.h

index fffa2432408d4801de5889f3fdc0e764ddd2204e..a3338cb6bd07171c6a1befe5e4d7546c42d0e101 100644 (file)
@@ -26,6 +26,7 @@ class TestObjectStoreState {
 public:
   struct coll_entry_t {
     int m_id;
+    spg_t m_pgid;
     coll_t m_coll;
     hobject_t m_meta_obj;
     ObjectStore::Sequencer m_osr;
@@ -33,7 +34,9 @@ public:
     int m_next_object_id;
 
     coll_entry_t(int i, char *coll_buf, char *meta_obj_buf)
-    : m_id(i), m_coll(coll_buf),
+      : m_id(i),
+       m_pgid(pg_t(i, 1), shard_id_t::NO_SHARD),
+       m_coll(m_pgid),
       m_meta_obj(sobject_t(object_t(meta_obj_buf), CEPH_NOSNAP)),
       m_osr(coll_buf), m_next_object_id(0) {
     }
index acf0fc147960ff02ba18cb9b9a2fd14adf32eab3..4331d98e30e25005476490180eee7acecc006372 100644 (file)
@@ -295,8 +295,8 @@ void WorkloadGenerator::do_setattr_object(ObjectStore::Transaction *t,
   t->setattr(coll, obj, "objxattr", bl);
 }
 
-void WorkloadGenerator::do_setattr_collection(ObjectStore::Transaction *t,
-                                             coll_t coll, C_StatState *stat)
+void WorkloadGenerator::do_pgmeta_omap_set(ObjectStore::Transaction *t, spg_t pgid,
+                                          coll_t coll, C_StatState *stat)
 {
   if (m_suppress_write_xattr_coll) {
     dout(5) << __func__ << " suppressed" << dendl;
@@ -314,9 +314,13 @@ void WorkloadGenerator::do_setattr_collection(ObjectStore::Transaction *t,
   if (m_do_stats && (stat != NULL))
       stat->written_data += bl.length();
 
-  t->collection_setattr(coll, "collxattr", bl);
+  ghobject_t pgmeta(pgid.make_pgmeta_oid());
+  map<string,bufferlist> values;
+  values["_"].claim(bl);
+  t->omap_setkeys(coll, pgmeta, values);
 }
 
+
 void WorkloadGenerator::do_append_log(ObjectStore::Transaction *t,
                                       coll_entry_t *entry, C_StatState *stat)
 {
@@ -472,7 +476,7 @@ void WorkloadGenerator::run()
 
       do_write_object(t, entry->m_coll, *obj, stat_state);
       do_setattr_object(t, entry->m_coll, *obj, stat_state);
-      do_setattr_collection(t, entry->m_coll, stat_state);
+      do_pgmeta_omap_set(t, entry->m_pgid, entry->m_coll, stat_state);
       do_append_log(t, entry, stat_state);
 
       c = new C_OnReadable(this, t);
index 3235fe86e996f36a43f356e2cf814918199fe264..65916594e5e11afa71be78edaa6c7cc02f2474c2 100644 (file)
@@ -103,7 +103,7 @@ class WorkloadGenerator : public TestObjectStoreState {
       coll_t coll, hobject_t obj, C_StatState *stat);
   void do_setattr_object(ObjectStore::Transaction *t,
       coll_t coll, hobject_t obj, C_StatState *stat);
-  void do_setattr_collection(ObjectStore::Transaction *t, coll_t coll,
+  void do_pgmeta_omap_set(ObjectStore::Transaction *t, spg_t pgid, coll_t coll,
       C_StatState *stat);
   void do_append_log(ObjectStore::Transaction *t, coll_entry_t *entry,
       C_StatState *stat);