From 89ee1d1199ff1dec38114915eaf068e5b80ffd2a Mon Sep 17 00:00:00 2001 From: Huber-ming Date: Wed, 13 Jul 2022 13:47:43 +0800 Subject: [PATCH] cls_rgw: nonexists object shoud not be accounted when check_index Signed-off-by: Huber-ming --- src/cls/rgw/cls_rgw.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc index e440b73ecec2..25fe3b27576a 100644 --- a/src/cls/rgw/cls_rgw.cc +++ b/src/cls/rgw/cls_rgw.cc @@ -718,12 +718,14 @@ static int check_index(cls_method_context_t hctx, CLS_LOG(1, "ERROR: rgw_bucket_list(): failed to decode entry, key=%s", kiter->first.c_str()); return -EIO; } - rgw_bucket_category_stats& stats = calc_header->stats[entry.meta.category]; - stats.num_entries++; - stats.total_size += entry.meta.accounted_size; - stats.total_size_rounded += cls_rgw_get_rounded_size(entry.meta.accounted_size); - stats.actual_size += entry.meta.size; - + if (entry.exists) { + rgw_bucket_category_stats& stats = calc_header->stats[entry.meta.category]; + stats.num_entries++; + stats.total_size += entry.meta.accounted_size; + stats.total_size_rounded += cls_rgw_get_rounded_size(entry.meta.accounted_size); + stats.actual_size += entry.meta.size; + } + start_obj = kiter->first; } } while (keys.size() == CHECK_CHUNK_SIZE && !done); -- 2.47.3