]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw/lc: Fix issues with non-current objects with instance empty
authorSoumya Koduri <skoduri@redhat.com>
Mon, 7 Oct 2024 11:24:02 +0000 (16:54 +0530)
committerSoumya Koduri <skoduri@redhat.com>
Tue, 29 Apr 2025 06:22:56 +0000 (11:52 +0530)
commit5228a0b05b144da24a26644e0b1d7b1ff1a78a16
tree1ac1d550d3d1034e719076b72946edf6c11dd82f
parentc3f8c359c28e44576b0bfbc59dc71a2ebfd0239e
rgw/lc: Fix issues with non-current objects with instance empty

When the bucket versioning is enabled, old plain object entry is converted
to versioned by updating its instance as "null" in its raw head/old object.
However its instance remains empty in the bi list entry. Same is the case for
the entries created after versioning is suspended and re-enabled.

So to access such objects which are non-current, we need to set rgw_obj_key.instance as
1) "null" to read the actual raw obj and
2) empty while accessing/updating their bi entry.

Fixes: https://tracker.ceph.com/issues/71119
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
(cherry picked from commit 60149ade9d5193a78fa5fd83e28919f8f36fe05d)
src/rgw/driver/rados/rgw_lc_tier.cc
src/rgw/driver/rados/rgw_rados.cc
src/rgw/driver/rados/rgw_rados.h
src/rgw/driver/rados/rgw_sal_rados.cc
src/rgw/rgw_lc.cc