]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common: Add missing ghobject_t::decode() for json
authorDavid Zafman <david.zafman@inktank.com>
Wed, 14 May 2014 22:30:11 +0000 (15:30 -0700)
committerDavid Zafman <dzafman@redhat.com>
Thu, 28 Aug 2014 23:21:27 +0000 (16:21 -0700)
Signed-off-by: David Zafman <david.zafman@inktank.com>
src/common/hobject.cc

index ed439fb06247a57b5d2f5a09788bf85704e18618..0abe59a0174f0497bb07c170b88093dc62f29e06 100644 (file)
@@ -235,6 +235,20 @@ void ghobject_t::decode(bufferlist::iterator& bl)
   DECODE_FINISH(bl);
 }
 
+void ghobject_t::decode(json_spirit::Value& v)
+{
+  hobj.decode(v);
+  using namespace json_spirit;
+  Object& o = v.get_obj();
+  for (Object::size_type i=0; i<o.size(); i++) {
+    Pair& p = o[i];
+    if (p.name_ == "generation")
+      generation = p.value_.get_uint64();
+    else if (p.name_ == "shard_id")
+      shard_id.id = p.value_.get_int();
+  }
+}
+
 void ghobject_t::dump(Formatter *f) const
 {
   hobj.dump(f);