]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/,rados/: modify TIER_FLUSH to implicitly make an object a manifest object
authormyoungwon oh <ohmyoungwon@gmail.com>
Sun, 1 May 2022 13:48:14 +0000 (22:48 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Thu, 28 Jul 2022 01:22:11 +0000 (10:22 +0900)
commitea749df517f72c1c46b373ba712ed2373272bed3
tree05f5514e147031467de0af3f42322499d02b1854
parent23eace17e0dc2a432b8532c635906af0ce79391e
osd/,rados/: modify TIER_FLUSH to implicitly make an object a manifest object

Existing object-dedup command always creates temporary object and
perform set-chunk to make the input object manifest---this is because
current tier-flush, which is called by object-dedup, works only if
the target object is manifest, otherwise it just return 0.

So, object-dedup may not work if the target is already manifest.
Moreover, it causes unnecessary overhead if the target object is not manifest.

To solve these, this commit makes existing tier-flush to
change object's state to manifest implicitly.

With this change, the only required operation when calling object-dedup
is a tier-flush and object-dedup can work with the manifest object.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
qa/workunits/rados/test_dedup_tool.sh
src/include/rados/librados.hpp
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h
src/tools/ceph_dedup_tool.cc