rgw/rados: rgw_rados_operate() takes version_t*
instead of calling ioctx.get_last_version() after a rados operation,
callers now pass version_t* as an output parameter. in the null_yield
case, that version is assigned to ioctx.get_last_version() as normal. in
the async case, we get the version out of librados::async_operate()'s
return value
Fixes: https://tracker.ceph.com/issues/63935
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
7769bdb9438d48afc8500c16167f82c8f549a914)
Conflicts:
src/rgw/driver/rados/rgw_rados.cc
src/rgw/driver/rados/rgw_tools.cc
src/rgw/driver/rados/rgw_tools.h
src/rgw/services/svc_sys_obj_core.cc
RGWSI_RADOS removal not backported
boost::asio::spawn() not backported
maybe_warn_about_blocking() not backported