]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
KeyValueStore: Initialize the iterator 4692/head
authorVarada Kari <varada.kari@sandisk.com>
Fri, 15 May 2015 14:07:30 +0000 (19:37 +0530)
committerVarada Kari <varada.kari@sandisk.com>
Fri, 15 May 2015 14:07:30 +0000 (19:37 +0530)
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 <varada.kari@sandisk.com>
src/os/GenericObjectMap.cc
src/os/KeyValueStore.cc

index 67a15d2f1505712c97bc3e9d4ef5855436436cca..22590e39ac2e509be905263cf97d4a8336168f61 100644 (file)
@@ -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());
index 589227f987f533c2314b334f7b4cae9a3ec3737f..9a075664ecbfdeec3742039a429f194d55d0a181 100644 (file)
@@ -268,7 +268,7 @@ int StripObjectMap::get_keys_with_header(const StripObjectHeaderRef header,
                                          set<string> *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());