]> 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>
Tue, 3 Mar 2015 17:51:29 +0000 (09:51 -0800)
Signed-off-by: David Zafman <david.zafman@inktank.com>
(cherry picked from commit c05f895d15a1d0e78ff5e9ae1a83f0a5424103d0)

Changes:
Adjusted for older shard_t

src/common/hobject.cc

index 28cb86a5c4916f4decbaa8c9bfdb41e74b9d9f0b..e41908640efc9ae13f392c869212018f5dc3da26 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 = p.value_.get_int();
+  }
+}
+
 void ghobject_t::dump(Formatter *f) const
 {
   hobj.dump(f);