From: Sage Weil Date: Mon, 24 Aug 2015 21:59:34 +0000 (-0400) Subject: os/newstore: fix end bound on collection_list X-Git-Tag: v9.1.0~242^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f3ddb75e3ea06226f094e55358cbe93c8ce4a090;p=ceph.git os/newstore: fix end bound on collection_list Signed-off-by: Sage Weil --- diff --git a/src/os/newstore/NewStore.cc b/src/os/newstore/NewStore.cc index 78764cf1fab1..8ca130424cce 100644 --- a/src/os/newstore/NewStore.cc +++ b/src/os/newstore/NewStore.cc @@ -1574,7 +1574,6 @@ int NewStore::collection_list( string temp_start_key, temp_end_key; string start_key, end_key; bool set_next = false; - string end_str; const char *pend; bool temp; @@ -1608,16 +1607,17 @@ int NewStore::collection_list( if (end.hobj.is_max()) { pend = temp ? temp_end_key.c_str() : end_key.c_str(); } else { - get_object_key(end, &end_str); + get_object_key(end, &end_key); if (end.hobj.is_temp()) { if (temp) - pend = end_str.c_str(); + pend = end_key.c_str(); else goto out; } else { - pend = temp ? temp_end_key.c_str() : end_str.c_str(); + pend = temp ? temp_end_key.c_str() : end_key.c_str(); } } + dout(30) << __func__ << " pend " << pend << dendl; while (true) { if (!it->valid() || strcmp(it->key().c_str(), pend) > 0) { if (!it->valid()) @@ -1632,6 +1632,7 @@ int NewStore::collection_list( temp = false; it->upper_bound(start_key); pend = end_key.c_str(); + dout(30) << __func__ << " pend " << pend << dendl; continue; } break;