]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librados/asio: async_operate() takes ownership of ObjectOperation args
authorCasey Bodley <cbodley@redhat.com>
Thu, 31 Oct 2024 20:56:44 +0000 (16:56 -0400)
committerCasey Bodley <cbodley@redhat.com>
Thu, 9 Jan 2025 16:44:01 +0000 (11:44 -0500)
commit8b3479e2bd70bc036dc0ca527636b71ea233c395
tree367db572133d3877908b32419fe7150f39c1a490
parent887ed45a33ea062726657da38d54d67b778dd8e1
librados/asio: async_operate() takes ownership of ObjectOperation args

for these async_operate() overloads, deferred initiation makes it
possible for the ObjectOperations arguments, passed by pointer, to go
out of scope before use

because ObjectOperation is move-only, we can't pass it by reference
like IoCtx& and expect the initiation functions to make a copy when
necessary. so our only option is to use move operations instead,
requiring that the caller pass an rvalue in the first place

Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/common/io_exerciser/RadosIo.cc
src/common/io_exerciser/RadosIo.h
src/librados/librados_asio.h
src/rgw/driver/rados/rgw_tools.cc
src/rgw/rgw_aio.cc
src/test/librados/asio.cc