]> 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>
Wed, 9 Sep 2020 09:13:51 +0000 (12:13 +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 6f8b642c664809d1c7d71a8bfe3e1f833eda6de8..ed7b92e2ea8a8e494d636f47b5bf95a145971004 100755 (executable)
@@ -85,10 +85,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 3d8e352844447984625351a2c403b7d5d486d915..bfa2dbc55bc5b3955eb7867489f822a12ddae00b 100644 (file)
@@ -4611,9 +4611,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};