From: Yehuda Sadeh Date: Sat, 24 Sep 2011 00:19:27 +0000 (-0700) Subject: cls_rgw: substract obj stats only if obj exists X-Git-Tag: v0.37~103^2~45 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b7ec4d5d5c030181d66e17cfa4afded1826af0c7;p=ceph.git cls_rgw: substract obj stats only if obj exists --- diff --git a/src/cls_rgw.cc b/src/cls_rgw.cc index 1178a4a48a99f..07ed423f395bd 100644 --- a/src/cls_rgw.cc +++ b/src/cls_rgw.cc @@ -200,10 +200,12 @@ int rgw_bucket_complete_op(cls_method_context_t hctx, bufferlist *in, bufferlist return 0; } - struct rgw_bucket_category_stats& stats = dir.header.stats[entry->meta.category]; - stats.num_entries--; - stats.total_size -= entry->meta.size; - stats.total_size_rounded -= get_rounded_size(entry->meta.size); + if (entry.exists) { + struct rgw_bucket_category_stats& stats = dir.header.stats[entry->meta.category]; + stats.num_entries--; + stats.total_size -= entry->meta.size; + stats.total_size_rounded -= get_rounded_size(entry->meta.size); + } } else { entry = &dir.m[op.name]; entry->name = op.name;