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>