]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: use helpers to generate info and epoch keys
authorSamuel Just <sam.just@inktank.com>
Wed, 13 Feb 2013 20:50:04 +0000 (12:50 -0800)
committerSamuel Just <sam.just@inktank.com>
Wed, 13 Feb 2013 21:32:29 +0000 (13:32 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc
src/osd/PG.h

index 7fd4144983dd2419635d99aff9b3873125f42326..00530a76d805520b58b12a6611f9a3a81341b964 100644 (file)
@@ -2340,11 +2340,9 @@ void PG::write_info(ObjectStore::Transaction& t)
   // info.  store purged_snaps separately.
   interval_set<snapid_t> purged_snaps;
   map<string,bufferlist> 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<string> keys;
-    keys.insert(ek);
+    keys.insert(get_epoch_key(pgid));
     map<string,bufferlist> 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<string> keys;
       keys.insert(k);
       map<string,bufferlist> values;
index bd45f8b5270f61e0945e0848387a6ed8ea239b2f..dfa2338453d78b410bf39688f2aad6f830f19fe8 100644 (file)
@@ -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;