]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: remove unnecessary ref handling in _delete_oid
authormyoungwon oh <ohmyoungwon@gmail.com>
Wed, 31 Mar 2021 06:22:01 +0000 (15:22 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Thu, 8 Apr 2021 08:35:59 +0000 (17:35 +0900)
commit779e60e5bc269036700e39c4b8012e0264512a31
tree410c7bae87f8c23729bdcfae751bfdedb633abb6
parentb5f5649ecde35a304705807f6715461d5a0c03c5
osd: remove unnecessary ref handling in _delete_oid

Let's consider the following case when handling a delete op.
1. Delete --> whiteouted
2. Make clone

In this case, current code clears chunk_map and calls dec_all_manifest_refcount()
in _delete_oid() even if the clone still has the references.

To fix this, This commit remove unnecessary ref handling in _delete_oid, and
makes finish_ctx() to handle ref handling, which can aware of whether the
clone is created or not.

Also, remove oi.size == 0 condition in finish_ctx() to handle ref. counting
upon a delete op with whitedouted clone.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/osd/PrimaryLogPG.cc