rgw/bucket-logging: support for EC pools
Log buckets can now be created within erasure-coded (EC) pools.
To support append operations, a temporary log record object is initially
created in the replicated default.rgw.log pool. This object is then copied
to the EC pool upon log record commitment.
All implicit log commit operations will execute asynchronously. A new
BucketLoggingManager class is responsible for processing these pending
commits at set intervals. Explicit commit operations, however, will
continue to be performed synchronously.
Fixes: https://tracker.ceph.com/issues/71365
Signed-off-by: Nithya Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit
fcc5229)
Conflicts:
src/rgw/CMakeLists.txt
src/rgw/driver/rados/rgw_zone.h
src/rgw/rgw_appmain.cc
src/rgw/rgw_object_expirer.cc
src/rgw/rgw_realm_reloader.cc
src/rgw/rgw_sal.cc
src/rgw/rgw_sal.h
src/test/rgw/rgw_cr_test.cc
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>