From: Samuel Just Date: Wed, 13 Feb 2013 20:50:04 +0000 (-0800) Subject: PG: use helpers to generate info and epoch keys X-Git-Tag: v0.58~76^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f3bc8dfee11ce8ef08026a42e1fdfb7f10dcdb8d;p=ceph.git PG: use helpers to generate info and epoch keys Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 7fd4144983dd..00530a76d805 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2340,11 +2340,9 @@ void PG::write_info(ObjectStore::Transaction& t) // info. store purged_snaps separately. interval_set purged_snaps; map v; - string k = stringify(info.pgid) + string("_info"); - string ek = stringify(info.pgid) + string("_epoch"); - ::encode(get_osdmap()->get_epoch(), v[ek]); + ::encode(get_osdmap()->get_epoch(), v[get_epoch_key(info.pgid)]); purged_snaps.swap(info.purged_snaps); - ::encode(info, v[k]); + ::encode(info, v[get_info_key(info.pgid)]); purged_snaps.swap(info.purged_snaps); t.omap_setkeys(coll_t::META_COLL, osd->infos_oid, v); @@ -2352,7 +2350,7 @@ void PG::write_info(ObjectStore::Transaction& t) if (dirty_big_info) { // potentially big stuff v.clear(); - bufferlist& bigbl = v[k]; + bufferlist& bigbl = v[get_info_key(info.pgid)]; ::encode(past_intervals, bigbl); ::encode(snap_collections, bigbl); ::encode(info.purged_snaps, bigbl); @@ -2383,9 +2381,9 @@ epoch_t PG::peek_map_epoch(ObjectStore *store, coll_t coll, hobject_t &infos_oid } else { // get epoch out of leveldb bufferlist tmpbl; - string ek = stringify(pgid) + string("_epoch"); + string ek = get_epoch_key(pgid); set keys; - keys.insert(ek); + keys.insert(get_epoch_key(pgid)); map values; store->omap_get_values(coll_t::META_COLL, infos_oid, keys, &values); assert(values.size() == 1); @@ -2673,7 +2671,7 @@ int PG::read_info(ObjectStore *store, const coll_t coll, bufferlist &bl, ::decode(past_intervals, p); } else { // get info out of leveldb - string k = stringify(info.pgid) + string("_info"); + string k = get_info_key(info.pgid); set keys; keys.insert(k); map values; diff --git a/src/osd/PG.h b/src/osd/PG.h index bd45f8b5270f..dfa2338453d7 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -424,6 +424,12 @@ public: __u8 info_struct_v; const coll_t coll; IndexedLog log; + static string get_info_key(pg_t pgid) { + return stringify(pgid) + "_info"; + } + static string get_epoch_key(pg_t pgid) { + return stringify(pgid) + "_epoch"; + } hobject_t log_oid; hobject_t biginfo_oid; OndiskLog ondisklog;