From: Sage Weil Date: Fri, 5 Dec 2014 21:52:42 +0000 (-0800) Subject: ceph_test_objectstore_workloadgen: set pgmeta omap instead of collection xattr X-Git-Tag: v0.91~23^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=56232d96cf3d56d83671a8091d3a1b85f08953aa;p=ceph.git ceph_test_objectstore_workloadgen: set pgmeta omap instead of collection xattr Signed-off-by: Sage Weil --- diff --git a/src/test/objectstore/TestObjectStoreState.h b/src/test/objectstore/TestObjectStoreState.h index fffa2432408d..a3338cb6bd07 100644 --- a/src/test/objectstore/TestObjectStoreState.h +++ b/src/test/objectstore/TestObjectStoreState.h @@ -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) { } diff --git a/src/test/objectstore/workload_generator.cc b/src/test/objectstore/workload_generator.cc index acf0fc147960..4331d98e30e2 100644 --- a/src/test/objectstore/workload_generator.cc +++ b/src/test/objectstore/workload_generator.cc @@ -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 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); diff --git a/src/test/objectstore/workload_generator.h b/src/test/objectstore/workload_generator.h index 3235fe86e996..65916594e5e1 100644 --- a/src/test/objectstore/workload_generator.h +++ b/src/test/objectstore/workload_generator.h @@ -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);