]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: include client metadata in `session ls`
authorJohn Spray <john.spray@redhat.com>
Tue, 9 Sep 2014 15:43:15 +0000 (16:43 +0100)
committerJohn Spray <john.spray@redhat.com>
Wed, 17 Sep 2014 10:26:41 +0000 (11:26 +0100)
Signed-off-by: John Spray <john.spray@redhat.com>
src/mds/MDS.cc

index d797b3df2ae57d894ab03e271813beb947e02344..88607d7ca525b7c163e3cd127a50c5a3b03310e8 100644 (file)
@@ -244,16 +244,24 @@ bool MDS::asok_command(string command, cmdmap_t& cmdmap, string format,
         continue;
       }
 
+      Session *s = p->second;
+
       f->open_object_section("session");
       f->dump_int("id", p->first.num());
 
-      f->dump_int("num_leases", p->second->leases.size());
-      f->dump_int("num_caps", p->second->caps.size());
+      f->dump_int("num_leases", s->leases.size());
+      f->dump_int("num_caps", s->caps.size());
 
-      f->dump_string("state", p->second->get_state_name());
-      f->dump_int("replay_requests", is_clientreplay() ? p->second->get_request_count() : 0);
+      f->dump_string("state", s->get_state_name());
+      f->dump_int("replay_requests", is_clientreplay() ? s->get_request_count() : 0);
       f->dump_bool("reconnecting", server->waiting_for_reconnect(p->first.num()));
-      f->dump_stream("inst") << p->second->info.inst;
+      f->dump_stream("inst") << s->info.inst;
+      f->open_object_section("client_metadata");
+      for (map<string, string>::const_iterator i = s->info.client_metadata.begin();
+          i != s->info.client_metadata.end(); ++i) {
+        f->dump_string(i->first.c_str(), i->second);
+      }
+      f->close_section(); // client_metadata
       f->close_section(); //session
     }
     f->close_section(); //sessions