diff mbox

Patch for rados tool to allow listomapvals to list all k/v pairs

Message ID CAJO99Tmj3itMZWpjoO6tmjk7Tz9WJSjDtKwwF-BE9W1iWODkdg@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bjørnar Ness Dec. 28, 2013, 1:59 p.m. UTC
Current code only lists first 512 k/v pairs, attached patch.

Comments

Josh Durgin Dec. 31, 2013, 1:25 a.m. UTC | #1
On 12/28/2013 05:59 AM, Bjørnar Ness wrote:
> Current code only lists first 512 k/v pairs, attached patch.

Thanks for looking into this!
I moved the last_read assignment out of the conditional so it applies
to nonprintable values too, and added a simple test case:

https://github.com/ceph/ceph/pull/1022

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc
index a5a921c..bbd7ba2 100644
--- a/src/tools/rados/rados.cc
+++ b/src/tools/rados/rados.cc
@@ -1760,6 +1760,7 @@  static int rados_tool_common(const std::map < std::string, std
             << cpp_strerror(ret) << std::endl;
        return 1;
       }
+      ret = values.size();
       for (map<string, bufferlist>::const_iterator it = values.begin();
           it != values.end(); ++it) {
        // dump key in hex if it contains nonprintable characters
@@ -1771,6 +1772,7 @@  static int rados_tool_common(const std::map < std::string, std
          keybl.hexdump(cout);
        } else {
          cout << it->first;
+      last_read = it->first;
        }
        cout << std::endl;
        cout << "value: (" << it->second.length() << " bytes) :\n";