diff options
author | Joao Eduardo Luis <joao.luis@inktank.com> | 2013-10-02 01:22:40 +0100 |
---|---|---|
committer | Joao Eduardo Luis <joao.luis@inktank.com> | 2013-10-02 01:28:22 +0100 |
commit | 398249a05f762f92a53f5add568e181a954a3f28 (patch) | |
tree | b118bc08793fbd71994561514729d39624ccece8 | |
parent | 18fcd91319be2be11e643eb40c5bd0beee21cf51 (diff) | |
download | ceph-398249a05f762f92a53f5add568e181a954a3f28.tar.gz |
test: test_store_tool: optionally output value crc when listing keys
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r-- | src/test/ObjectMap/test_store_tool/test_store_tool.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/test/ObjectMap/test_store_tool/test_store_tool.cc b/src/test/ObjectMap/test_store_tool/test_store_tool.cc index 66d55bee587..7d943c9ca08 100644 --- a/src/test/ObjectMap/test_store_tool/test_store_tool.cc +++ b/src/test/ObjectMap/test_store_tool/test_store_tool.cc @@ -38,7 +38,7 @@ class StoreTool db.reset(db_ptr); } - void list(const string &prefix) { + void list(const string &prefix, const bool do_crc) { KeyValueDB::WholeSpaceIterator iter = db->get_iterator(); if (prefix.empty()) @@ -51,7 +51,11 @@ class StoreTool if (!prefix.empty() && (rk.first != prefix)) break; - std::cout << rk.first << ":" << rk.second << std::endl; + std::cout << rk.first << ":" << rk.second; + if (do_crc) { + std::cout << " (" << iter->value().crc32c(0) << ")"; + } + std::cout << std::endl; iter->next(); } } @@ -109,6 +113,7 @@ void usage(const char *pname) << "\n" << "Commands:\n" << " list [prefix]\n" + << " list-crc [prefix]\n" << " exists <prefix> [key]\n" << " get <prefix> <key>\n" << " crc <prefix> <key>\n" @@ -140,12 +145,14 @@ int main(int argc, const char *argv[]) StoreTool st(path); - if (cmd == "list") { + if (cmd == "list" || cmd == "list-crc") { string prefix; if (argc > 3) prefix = argv[3]; - st.list(prefix); + bool do_crc = (cmd == "list-crc"); + + st.list(prefix, do_crc); } else if (cmd == "exists") { string key; |