From c549a8cc0b21ab8b12f980c2777d7befb9546b6b Mon Sep 17 00:00:00 2001 From: Haomai Wang Date: Sat, 14 Nov 2015 01:04:11 +0800 Subject: [PATCH] kv/KineticStore: Fix broken split_key Introduced by PR #6312 Signed-off-by: Haomai Wang --- src/kv/KineticStore.cc | 6 +++--- src/kv/KineticStore.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kv/KineticStore.cc b/src/kv/KineticStore.cc index d11975b4aeabb..71559f03d3eea 100644 --- a/src/kv/KineticStore.cc +++ b/src/kv/KineticStore.cc @@ -203,7 +203,7 @@ bufferlist KineticStore::to_bufferlist(const kinetic::KineticRecord &record) return bl; } -int KineticStore::split_key(string in_prefix, string *prefix, string *key) +int KineticStore::split_key(string &in, string *prefix, string *key) { size_t prefix_len = 0; char* in_data = in.c_str(); @@ -213,14 +213,14 @@ int KineticStore::split_key(string in_prefix, string *prefix, string *key) if (separator == NULL) return -EINVAL; prefix_len = size_t(separator - in_data); - if (prefix_len >= in_prefix.size()) + if (prefix_len >= in.size()) return -EINVAL; // Fetch prefix and/or key directly from Slice if (prefix) *prefix = string(in_data, prefix_len); if (key) - *key = string(separator+1, in_prefix.size()-prefix_len-1); + *key = string(separator+1, in.size()-prefix_len-1); return 0; } diff --git a/src/kv/KineticStore.h b/src/kv/KineticStore.h index 14c35d771225e..657dfebb451ec 100644 --- a/src/kv/KineticStore.h +++ b/src/kv/KineticStore.h @@ -137,7 +137,7 @@ public: /// Utility static string combine_strings(const string &prefix, const string &value); - static int split_key(string in_prefix, string *prefix, string *key); + static int split_key(string &in_prefix, string *prefix, string *key); static bufferlist to_bufferlist(const kinetic::KineticRecord &record); virtual uint64_t get_estimated_size(map &extra) { // not used by the osd -- 2.39.5