From: xinxin shu Date: Mon, 1 Jun 2015 06:28:32 +0000 (+0800) Subject: os/DBOjectMap : iter->valid is always false if we do not initialize the iterator... X-Git-Tag: v9.0.3~187^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=440ef3a2303e49b1e842c3b2fda76bee1e23b299;p=ceph.git os/DBOjectMap : iter->valid is always false if we do not initialize the iterator with init(), seek_to_first will initialize this iterator Signed-off-by: xinxin shu --- diff --git a/src/os/DBObjectMap.cc b/src/os/DBObjectMap.cc index ae67e4d7d6a7..4ffd28327154 100644 --- a/src/os/DBObjectMap.cc +++ b/src/os/DBObjectMap.cc @@ -772,7 +772,7 @@ int DBObjectMap::get_keys(const ghobject_t &oid, if (!header) return -ENOENT; ObjectMapIterator iter = get_iterator(oid); - for (; iter->valid(); iter->next()) { + for (iter->seek_to_first(); iter->valid(); iter->next()) { if (iter->status()) return iter->status(); keys->insert(iter->key());