From: Sage Weil Date: Tue, 21 May 2013 18:03:34 +0000 (-0700) Subject: ceph-monstore-tool: dump-keys command X-Git-Tag: v0.64~87 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9cc787a9beba7971efa1192e0857fbf74a309a90;p=ceph.git ceph-monstore-tool: dump-keys command Signed-off-by: Sage Weil --- diff --git a/src/mon/MonitorDBStore.h b/src/mon/MonitorDBStore.h index 1bdb4d22c83e..f10d96d58a86 100644 --- a/src/mon/MonitorDBStore.h +++ b/src/mon/MonitorDBStore.h @@ -402,6 +402,13 @@ class MonitorDBStore return iter; } + KeyValueDB::WholeSpaceIterator get_iterator() { + KeyValueDB::WholeSpaceIterator iter; + iter = db->get_snapshot_iterator(); + iter->seek_to_first(); + return iter; + } + int get(const string& prefix, const string& key, bufferlist& bl) { set k; k.insert(key); diff --git a/src/tools/ceph-monstore-tool.cc b/src/tools/ceph-monstore-tool.cc index 7e1ca6bc5b5b..c1370ab258f2 100644 --- a/src/tools/ceph-monstore-tool.cc +++ b/src/tools/ceph-monstore-tool.cc @@ -164,7 +164,7 @@ int main(int argc, char **argv) { } global_init( - &def_args, ceph_options, CEPH_ENTITY_TYPE_OSD, + &def_args, ceph_options, CEPH_ENTITY_TYPE_MON, CODE_ENVIRONMENT_UTILITY, 0); common_init_finish(g_ceph_context); g_ceph_context->_conf->apply_changes(NULL); @@ -195,7 +195,14 @@ int main(int argc, char **argv) { goto done; } } - if (cmd == "getosdmap") { + if (cmd == "dump-keys") { + KeyValueDB::WholeSpaceIterator iter = st.get_iterator(); + while (iter->valid()) { + pair key(iter->raw_key()); + cout << key.first << " / " << key.second << std::endl; + iter->next(); + } + } else if (cmd == "getosdmap") { if (!store_path.size()) { std::cerr << "need mon store path" << std::endl; std::cerr << desc << std::endl;