]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/kstore: fix collection_list ordering
authorMykola Golub <mgolub@suse.com>
Wed, 19 Aug 2020 08:56:57 +0000 (09:56 +0100)
committerMykola Golub <mgolub@suse.com>
Tue, 8 Sep 2020 15:19:19 +0000 (18:19 +0300)
It has the same key escaping bug as the blustore has, but we
don't need to workaround it here because kstore is not in
production use.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit c1eff9f7812b131c10df245ae92450d70623de2b)

src/os/kstore/KStore.cc
src/test/objectstore/store_test.cc

index 77ccfe0055263f522d16ffe6aca998e2118acd35..2772d523310aa9e99ed2c51d3791061d79579525 100644 (file)
@@ -89,10 +89,10 @@ static void append_escaped(const string &in, string *out)
 {
   char hexbyte[8];
   for (string::const_iterator i = in.begin(); i != in.end(); ++i) {
-    if (*i <= '#') {
+    if ((unsigned char)*i <= '#') {
       snprintf(hexbyte, sizeof(hexbyte), "#%02x", (uint8_t)*i);
       out->append(hexbyte);
-    } else if (*i >= '~') {
+    } else if ((unsigned char)*i >= '~') {
       snprintf(hexbyte, sizeof(hexbyte), "~%02x", (uint8_t)*i);
       out->append(hexbyte);
     } else {
index 8b1ee7b82275b95c2440b56e425b4682a78f635a..40610e86f0ada3b56317cb5b4801aeb35d3445bf 100644 (file)
@@ -5058,9 +5058,6 @@ TEST_P(StoreTest, HashCollisionTest) {
 }
 
 TEST_P(StoreTest, HashCollisionSorting) {
-  if (string(GetParam()) == "kstore") // TODO: fix kstore
-    return;
-
   char buf121664318_1[] = {18, -119, -121, -111, 0};
   char buf121664318_2[] = {19, 127, -121, 32, 0};
   char buf121664318_3[] = {19, -118, 15, 19, 0};