When "bucket index list" traverses the different regions in the bucket
index assembling the output, it miscalculates how many entries to ask
for at one point. This fixes that.
This fixes previous "rgw: bucket index list can produce I/O errors".
Credit for finding this bug goes to Soumya Koduri <skoduri@redhat.com>.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
aa7605151f0a5f467d50f13f27c7aef42a40cc39)
}
if (!more) {
- ret = list_plain_entries(hctx, op.name_filter, op.marker, max,
+ ret = list_plain_entries(hctx, op.name_filter, op.marker, max - count,
&op_ret.entries, &more, PlainEntriesRegion::High);
if (ret < 0) {
CLS_LOG(0, "ERROR: %s: list_plain_entries (high) returned ret=%d, marker=\"%s\", filter=\"%s\", max=%d",