From: Varada Kari Date: Fri, 15 May 2015 14:07:30 +0000 (+0530) Subject: KeyValueStore: Initialize the iterator X-Git-Tag: v9.0.2~143^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4692%2Fhead;p=ceph.git KeyValueStore: Initialize the iterator Initialize the iterator in get_keys and get_keys_with_header. This fixes the issues with ceph_test_rados_api_aio. Signed-off-by: Varada Kari --- diff --git a/src/os/GenericObjectMap.cc b/src/os/GenericObjectMap.cc index 67a15d2f1505..22590e39ac2e 100644 --- a/src/os/GenericObjectMap.cc +++ b/src/os/GenericObjectMap.cc @@ -621,7 +621,7 @@ int GenericObjectMap::get_keys(const coll_t &cid, const ghobject_t &oid, return -ENOENT; ObjectMap::ObjectMapIterator iter = _get_iterator(header, prefix); - for (; iter->valid(); iter->next()) { + for (iter->seek_to_first(); iter->valid(); iter->next()) { if (iter->status()) return iter->status(); keys->insert(iter->key()); diff --git a/src/os/KeyValueStore.cc b/src/os/KeyValueStore.cc index 589227f987f5..9a075664ecbf 100644 --- a/src/os/KeyValueStore.cc +++ b/src/os/KeyValueStore.cc @@ -268,7 +268,7 @@ int StripObjectMap::get_keys_with_header(const StripObjectHeaderRef header, set *keys) { ObjectMap::ObjectMapIterator iter = _get_iterator(header->header, prefix); - for (; iter->valid(); iter->next()) { + for (iter->seek_to_first(); iter->valid(); iter->next()) { if (iter->status()) return iter->status(); keys->insert(iter->key());