]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw/lc: Fix issues with non-current objects with instance empty 60157/head
authorSoumya Koduri <skoduri@redhat.com>
Mon, 7 Oct 2024 11:24:02 +0000 (16:54 +0530)
committerSoumya Koduri <skoduri@redhat.com>
Tue, 22 Oct 2024 13:38:13 +0000 (19:08 +0530)
commit60149ade9d5193a78fa5fd83e28919f8f36fe05d
tree9caf5c04dbed40810a7be400f3151b2320e07108
parentee6523b618e7abe21cd2346f828f57cf150de5b9
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/68402
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
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