]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cls/rgw: use rgw_bucket_dir_entry_meta::size to accumulate actual_size
authorCasey Bodley <cbodley@redhat.com>
Wed, 28 Sep 2016 19:52:29 +0000 (15:52 -0400)
committerAdam Kupczyk <akupczyk@mirantis.com>
Wed, 2 Nov 2016 11:13:05 +0000 (12:13 +0100)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/cls/rgw/cls_rgw.cc

index 85c2896271243ff9415d17d157f30b74a890de75..3fe55676ac1bf8431f15f930da94eea8203e5282 100644 (file)
@@ -536,6 +536,7 @@ static int check_index(cls_method_context_t hctx, struct rgw_bucket_dir_header *
       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;
     }
@@ -740,6 +741,7 @@ static void unaccount_entry(struct rgw_bucket_dir_header& header, struct rgw_buc
   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;
 }
 
 static void log_entry(const char *func, const char *str, struct rgw_bucket_dir_entry *entry)
@@ -925,6 +927,7 @@ int rgw_bucket_complete_op(cls_method_context_t hctx, bufferlist *in, bufferlist
       stats.num_entries++;
       stats.total_size += meta.accounted_size;
       stats.total_size_rounded += cls_rgw_get_rounded_size(meta.accounted_size);
+      stats.actual_size += meta.size;
       bufferlist new_key_bl;
       ::encode(entry, new_key_bl);
       int ret = cls_cxx_map_set_val(hctx, idx, &new_key_bl);
@@ -1955,6 +1958,7 @@ int rgw_dir_suggest_changes(cls_method_context_t hctx, bufferlist *in, bufferlis
         old_stats.num_entries--;
         old_stats.total_size -= cur_disk.meta.accounted_size;
         old_stats.total_size_rounded -= cls_rgw_get_rounded_size(cur_disk.meta.accounted_size);
+        old_stats.actual_size -= cur_disk.meta.size;
         header_changed = true;
       }
       struct rgw_bucket_category_stats& stats =
@@ -1982,6 +1986,7 @@ int rgw_dir_suggest_changes(cls_method_context_t hctx, bufferlist *in, bufferlis
         stats.num_entries++;
         stats.total_size += cur_change.meta.accounted_size;
         stats.total_size_rounded += cls_rgw_get_rounded_size(cur_change.meta.accounted_size);
+        stats.actual_size += cur_change.meta.size;
         header_changed = true;
         cur_change.index_ver = header.ver;
         bufferlist cur_state_bl;