From: Amnon Hanuhov Date: Wed, 27 May 2020 10:03:30 +0000 (+0300) Subject: crimson/osd: Fix key num handling in PGBackend::omap_get_vals() X-Git-Tag: v16.1.0~1839^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1f218810a478db9c156ea196f4d661e160240267;p=ceph.git crimson/osd: Fix key num handling in PGBackend::omap_get_vals() Signed-off-by: Amnon Hanuhov --- diff --git a/src/crimson/osd/pg_backend.cc b/src/crimson/osd/pg_backend.cc index 494d0ea024e6..bce6187a8891 100644 --- a/src/crimson/osd/pg_backend.cc +++ b/src/crimson/osd/pg_backend.cc @@ -615,13 +615,14 @@ seastar::future<> PGBackend::omap_get_vals( const auto& [key, value] = *iter; if (key.substr(0, filter_prefix.size()) != filter_prefix) { break; - } else if (num++ >= max_return || + } else if (num >= max_return || result.length() >= local_conf()->osd_max_omap_bytes_per_request) { truncated = true; break; } encode(key, result); encode(value, result); + ++num; } encode(num, osd_op.outdata); osd_op.outdata.claim_append(result);