summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-10-02 01:22:40 +0100
committerJoao Eduardo Luis <joao.luis@inktank.com>2013-10-02 01:28:22 +0100
commit398249a05f762f92a53f5add568e181a954a3f28 (patch)
treeb118bc08793fbd71994561514729d39624ccece8
parent18fcd91319be2be11e643eb40c5bd0beee21cf51 (diff)
downloadceph-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.cc15
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;