]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
cls/fifo: Remove all use of part tags
authorAdam C. Emerson <aemerson@redhat.com>
Wed, 30 Nov 2022 04:21:51 +0000 (23:21 -0500)
committerAdam C. Emerson <aemerson@redhat.com>
Mon, 9 Jan 2023 23:51:36 +0000 (18:51 -0500)
commitc641dc66452d4f225a2dd845b414a1d146d5e4d6
tree693e22f02bf5a7f67f41f7ddbd475697df99d776
parent2a7b39ff262a33bf162ab789332ed472893915cc
cls/fifo: Remove all use of part tags

Part tags make part creation and setting the head non-idempotent,
leading to issues where racing RGWs may get confused about the correct
tag for a part. (Or worse, potentially have the metadata header hold
different value for a part than the part's header.)

Consistently only requires that all nodes agree on the number.

Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit f89a6d1833f45220ce558919de656f99cd1c9342)
Conflicts:
src/neorados/cls/fifo.cc
src/neorados/cls/fifo.h
src/test/cls_fifo/bench_cls_fifo.cc
src/test/cls_fifo/test_cls_fifo.cc
 - Upstream deleted version has changes not in downstream
src/cls/fifo/cls_fifo_ops.h
 - Upstream std::
src/cls/fifo/cls_fifo_types.h
 - Upstream friend operator
 - Upstream std::
src/rgw/CMakeLists.txt
 - Downstream unneeded library dependency
src/rgw/cls_fifo_legacy.h
 - Upstream dpp
src/rgw/cls_fifo_legacy.cc
 - Upstream C++20
 - Upstream dpp

Fixes: https://tracker.ceph.com/issues/58403
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
14 files changed:
src/cls/fifo/cls_fifo.cc
src/cls/fifo/cls_fifo_ops.h
src/cls/fifo/cls_fifo_types.h
src/neorados/CMakeLists.txt
src/neorados/cls/fifo.cc [deleted file]
src/neorados/cls/fifo.h [deleted file]
src/rgw/CMakeLists.txt
src/rgw/cls_fifo_legacy.cc
src/rgw/cls_fifo_legacy.h
src/test/CMakeLists.txt
src/test/cls_fifo/CMakeLists.txt [deleted file]
src/test/cls_fifo/bench_cls_fifo.cc [deleted file]
src/test/cls_fifo/test_cls_fifo.cc [deleted file]
src/test/rgw/test_cls_fifo_legacy.cc