template<typename CompletionToken>
auto build(boost::asio::io_context& ioctx, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, BuildSig>(
- [&, this](auto&& handler) {
+ [&ioctx, this](auto&& handler) {
build(ioctx, BuildComp::create(ioctx.get_executor(),
std::move(handler)));
}, token);
boost::asio::io_context& ioctx,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, BuildSig>(
- [&](auto&& handler) {
+ [cct, &ioctx](auto&& handler) {
make_with_cct(cct, ioctx,
BuildComp::create(ioctx.get_executor(),
std::move(handler)));
boost::asio::io_context& get_io_context();
template<typename CompletionToken>
- auto execute(const Object& o, const IOContext& ioc, ReadOp&& op,
+ auto execute(Object o, IOContext ioc, ReadOp op,
ceph::buffer::list* bl,
CompletionToken&& token, uint64_t* objver = nullptr,
const blkin_trace_info* trace_info = nullptr) {
return boost::asio::async_initiate<CompletionToken, Op::Signature>(
- [&, this](auto&& handler) {
- execute(o, ioc, std::move(op), bl,
+ [o = std::move(o), ioc = std::move(ioc), op = std::move(op),
+ bl, objver, trace_info, this](auto&& handler) mutable {
+ execute(std::move(o), std::move(ioc), std::move(op), bl,
ReadOp::Completion::create(get_executor(),
std::move(handler)),
objver, trace_info);
}
template<typename CompletionToken>
- auto execute(const Object& o, const IOContext& ioc, WriteOp&& op,
+ auto execute(Object o, IOContext ioc, WriteOp op,
CompletionToken&& token, uint64_t* objver = nullptr,
const blkin_trace_info* trace_info = nullptr) {
return boost::asio::async_initiate<CompletionToken, Op::Signature>(
- [&, this](auto&& handler) {
- execute(o, ioc, std::move(op),
+ [o = std::move(o), ioc = std::move(ioc), op = std::move(op),
+ objver, trace_info, this](auto&& handler) mutable {
+ execute(std::move(o), std::move(ioc), std::move(op),
WriteOp::Completion::create(get_executor(),
std::move(handler)),
objver, trace_info);
std::int64_t);
using LookupPoolComp = ceph::async::Completion<LookupPoolSig>;
template<typename CompletionToken>
- auto lookup_pool(std::string_view name,
- CompletionToken&& token) {
+ auto lookup_pool(std::string name, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, LookupPoolSig>(
- [&, this](auto&& handler) {
- lookup_pool(name, LookupPoolComp::create(get_executor(),
- std::move(handler)));
+ [name = std::move(name), this](auto&& handler) mutable {
+ lookup_pool(std::move(name),
+ LookupPoolComp::create(get_executor(), std::move(handler)));
}, token);
}
using SimpleOpSig = void(boost::system::error_code);
using SimpleOpComp = ceph::async::Completion<SimpleOpSig>;
template<typename CompletionToken>
- auto create_pool_snap(int64_t pool, std::string_view snapName,
+ auto create_pool_snap(int64_t pool, std::string snap_name,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- create_pool_snap(pool, snapName,
+ [snap_name = std::move(snap_name), pool, this](auto&& handler) mutable {
+ create_pool_snap(pool, std::move(snap_name),
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
using SMSnapSig = void(boost::system::error_code, std::uint64_t);
using SMSnapComp = ceph::async::Completion<SMSnapSig>;
template<typename CompletionToken>
- auto allocate_selfmanaged_snap(int64_t pool,
- CompletionToken&& token) {
+ auto allocate_selfmanaged_snap(int64_t pool, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SMSnapSig>(
- [&, this](auto&& handler) {
+ [pool, this](auto&& handler) {
allocage_selfmanaged_snap(pool,
SMSnapComp::create(get_executor(),
std::move(handler)));
}
template<typename CompletionToken>
- auto delete_pool_snap(int64_t pool, std::string_view snapName,
+ auto delete_pool_snap(int64_t pool, std::string snap_name,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- delete_pool_snap(pool, snapName,
+ [snap_name = std::move(snap_name), pool, this](auto&& handler) mutable {
+ delete_pool_snap(pool, std::move(snap_name),
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto delete_selfmanaged_snap(int64_t pool, std::string_view snapName,
+ auto delete_selfmanaged_snap(int64_t pool, std::uint64_t snap,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- delete_selfmanaged_snap(pool, snapName,
+ [snap, pool, this](auto&& handler) {
+ delete_selfmanaged_snap(pool, std::move(snap),
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto create_pool(std::string_view name, std::optional<int> crush_rule,
+ auto create_pool(std::string name, std::optional<int> crush_rule,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- create_pool(name, crush_rule,
+ [name = std::move(name), crush_rule, this](auto&& handler) mutable {
+ create_pool(std::move(name), crush_rule,
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto delete_pool(std::string_view name,
- CompletionToken&& token) {
+ auto delete_pool(std::string name, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- delete_pool(name,
+ [name = std::move(name), this](auto&& handler) mutable {
+ delete_pool(std::move(name),
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto delete_pool(int64_t pool,
- CompletionToken&& token) {
+ auto delete_pool(int64_t pool, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
+ [pool, this](auto&& handler) mutable {
delete_pool(pool,
SimpleOpComp::create(get_executor(),
std::move(handler)));
PoolStats>, bool);
using PoolStatComp = ceph::async::Completion<PoolStatSig>;
template<typename CompletionToken>
- auto stat_pools(const std::vector<std::string>& pools,
- CompletionToken&& token) {
+ auto stat_pools(std::vector<std::string> pools, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, PoolStatSig>(
- [&, this](auto&& handler) {
- stat_pools(pools,
+ [pools = std::move(pools), this](auto&& handler) mutable {
+ stat_pools(std::move(pools),
PoolStatComp::create(get_executor(),
std::move(handler)));
}, token);
FSStats);
using StatFSComp = ceph::async::Completion<StatFSSig>;
template<typename CompletionToken>
- auto statfs(std::optional<int64_t> pool,
- CompletionToken&& token) {
+ auto statfs(std::optional<int64_t> pool, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, StatFSSig>(
- [&, this](auto&& handler) {
+ [pool, this](auto&& handler) {
statfs(pool, StatFSComp::create(get_executor(),
std::move(handler)));
}, token);
uint64_t cookie);
using WatchComp = ceph::async::Completion<WatchSig>;
template<typename CompletionToken>
- auto watch(const Object& o, const IOContext& ioc,
+ auto watch(Object o, IOContext ioc,
std::optional<std::chrono::seconds> timeout,
- WatchCB&& cb, CompletionToken&& token) {
+ WatchCB cb, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, WatchSig>(
- [&, this](auto&& handler) {
- watch(o, ioc, timeout, cb, WatchComp::create(get_executor(),
- std::move(handler)));
+ [o = std::move(o), ioc = std::move(ioc), timeout,
+ cb = std::move(cb), this](auto&& handler) mutable {
+ watch(std::move(o), std::move(ioc), timeout, std::move(cb),
+ WatchComp::create(get_executor(), std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto notify_ack(const Object& o,
- const IOContext& ioc,
+ auto notify_ack(Object o, IOContext ioc,
uint64_t notify_id,
uint64_t cookie,
- ceph::buffer::list&& bl,
+ ceph::buffer::list bl,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- notify_ack(o, ioc, notify_id, cookie, std::move(bl),
+ [o = std::move(o), ioc = std::move(ioc), notify_id,
+ cookie, bl = std::move(bl), this](auto&& handler) mutable {
+ notify_ack(std::move(o), std::move(ioc), notify_id, cookie,
+ std::move(bl),
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto unwatch(uint64_t cookie, const IOContext& ioc,
+ auto unwatch(uint64_t cookie, IOContext ioc,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- unwatch(cookie, ioc, SimpleOpComp::create(get_executor(),
- std::move(handler)));
+ [cookie, ioc = std::move(ioc), this](auto&& handler) mutable {
+ unwatch(cookie, std::move(ioc),
+ SimpleOpComp::create(get_executor(), std::move(handler)));
}, token);
}
using NotifySig = void(boost::system::error_code, ceph::buffer::list);
using NotifyComp = ceph::async::Completion<NotifySig>;
template<typename CompletionToken>
- auto notify(const Object& oid, const IOContext& ioc, ceph::buffer::list&& bl,
+ auto notify(Object oid, IOContext ioc, ceph::buffer::list bl,
std::optional<std::chrono::milliseconds> timeout,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, NotifySig>(
- [&, this](auto&& handler) {
- notify(oid, ioc, std::move(bl), timeout,
+ [oid = std::move(oid), ioc = std::move(ioc),
+ bl = std::move(bl), timeout, this](auto&& handler) mutable {
+ notify(std::move(oid), std::move(ioc), std::move(bl), timeout,
NotifyComp::create(get_executor(),
std::move(handler)));
}, token);
Cursor);
using EnumerateComp = ceph::async::Completion<EnumerateSig>;
template<typename CompletionToken>
- auto enumerate_objects(const IOContext& ioc, const Cursor& begin,
- const Cursor& end, const std::uint32_t max,
- const ceph::buffer::list& filter,
+ auto enumerate_objects(IOContext ioc, Cursor begin,
+ Cursor end, std::uint32_t max,
+ ceph::buffer::list filter,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, EnumerateSig>(
- [&, this](auto&& handler) {
- enumerate_objects(ioc, begin, end, max, filter,
+ [ioc = std::move(ioc), begin = std::move(begin), end = std::move(end),
+ max, filter = std::move(filter), this](auto&& handler) mutable {
+ enumerate_objects(std::move(ioc), std::move(begin), std::move(end),
+ max, std::move(filter),
EnumerateComp::create(get_executor(),
- std::move(handler)));
+ std::move(handler)));
}, token);
}
std::string, ceph::buffer::list);
using CommandComp = ceph::async::Completion<CommandSig>;
template<typename CompletionToken>
- auto osd_command(int osd, std::vector<std::string>&& cmd,
- ceph::buffer::list&& in, CompletionToken&& token) {
+ auto osd_command(int osd, std::vector<std::string> cmd,
+ ceph::buffer::list in, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, CommandSig>(
- [&, this](auto&& handler) {
+ [osd, cmd = std::move(cmd), in = std::move(in),
+ this](auto&& handler) mutable {
osd_command(osd, std::move(cmd), std::move(in),
CommandComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto pg_command(PG pg, std::vector<std::string>&& cmd,
- ceph::buffer::list&& in, CompletionToken&& token) {
+ auto pg_command(PG pg, std::vector<std::string> cmd,
+ ceph::buffer::list in, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, CommandSig>(
- [&, this](auto&& handler) {
+ [pg, cmd = std::move(cmd), in = std::move(in),
+ this](auto&& handler) mutable {
pg_command(pg, std::move(cmd), std::move(in),
CommandComp::create(get_executor(),
std::move(handler)));
}
template<typename CompletionToken>
- auto mon_command(const std::vector<std::string>& command,
- const ceph::buffer::list& bl,
+ auto mon_command(std::vector<std::string> command,
+ ceph::buffer::list bl,
std::string* outs, ceph::buffer::list* outbl,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- mon_command(command, bl, outs, outbl,
+ [command = std::move(command), bl = std::move(bl), outs,
+ outbl, this](auto&& handler) mutable {
+ mon_command(std::move(command), std::move(bl), outs, outbl,
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto enable_application(std::string_view pool, std::string_view app_name,
+ auto enable_application(std::string pool, std::string app_name,
bool force, CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- enable_application(pool, app_name, force,
+ [pool = std::move(pool), app_name = std::move(app_name),
+ force, this](auto&& handler) mutable {
+ enable_application(std::move(pool), std::move(app_name), force,
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
}
template<typename CompletionToken>
- auto blocklist_add(std::string_view client_address,
+ auto blocklist_add(std::string client_address,
std::optional<std::chrono::seconds> expire,
CompletionToken&& token) {
return boost::asio::async_initiate<CompletionToken, SimpleOpSig>(
- [&, this](auto&& handler) {
- blocklist_add(client_address, expire,
+ [client_address = std::move(client_address), expire,
+ this](auto&& handler) mutable {
+ blocklist_add(std::move(client_address), expire,
SimpleOpComp::create(get_executor(),
std::move(handler)));
}, token);
boost::asio::io_context& ioctx,
std::unique_ptr<BuildComp> c);
- void execute(const Object& o, const IOContext& ioc, ReadOp&& op,
+ void execute(Object o, IOContext ioc, ReadOp op,
ceph::buffer::list* bl, std::unique_ptr<Op::Completion> c,
uint64_t* objver, const blkin_trace_info* trace_info);
- void execute(const Object& o, const IOContext& ioc, WriteOp&& op,
+ void execute(Object o, IOContext ioc, WriteOp op,
std::unique_ptr<Op::Completion> c, uint64_t* objver,
const blkin_trace_info* trace_info);
- void lookup_pool(std::string_view name, std::unique_ptr<LookupPoolComp> c);
+ void lookup_pool(std::string name, std::unique_ptr<LookupPoolComp> c);
void list_pools(std::unique_ptr<LSPoolsComp> c);
- void create_pool_snap(int64_t pool, std::string_view snapName,
+ void create_pool_snap(int64_t pool, std::string snap_name,
std::unique_ptr<SimpleOpComp> c);
void allocate_selfmanaged_snap(int64_t pool, std::unique_ptr<SMSnapComp> c);
- void delete_pool_snap(int64_t pool, std::string_view snapName,
+ void delete_pool_snap(int64_t pool, std::string snap_name,
std::unique_ptr<SimpleOpComp> c);
void delete_selfmanaged_snap(int64_t pool, std::uint64_t snap,
std::unique_ptr<SimpleOpComp> c);
- void create_pool(std::string_view name, std::optional<int> crush_rule,
- std::unique_ptr<SimpleOpComp> c);
- void delete_pool(std::string_view name,
+ void create_pool(std::string name, std::optional<int> crush_rule,
std::unique_ptr<SimpleOpComp> c);
- void delete_pool(int64_t pool,
+ void delete_pool(std::string name,
std::unique_ptr<SimpleOpComp> c);
- void stat_pools(const std::vector<std::string>& pools,
+ void delete_pool(int64_t pool, std::unique_ptr<SimpleOpComp> c);
+ void stat_pools(std::vector<std::string> pools,
std::unique_ptr<PoolStatComp> c);
void stat_fs(std::optional<std::int64_t> pool,
std::unique_ptr<StatFSComp> c);
- void watch(const Object& o, const IOContext& ioc,
+ void watch(Object o, IOContext ioc,
std::optional<std::chrono::seconds> timeout,
- WatchCB&& cb, std::unique_ptr<WatchComp> c);
+ WatchCB cb, std::unique_ptr<WatchComp> c);
tl::expected<ceph::timespan, boost::system::error_code>
watch_check(uint64_t cookie);
- void notify_ack(const Object& o,
- const IOContext& _ioc,
+ void notify_ack(Object o, IOContext _ioc,
uint64_t notify_id,
uint64_t cookie,
- ceph::buffer::list&& bl,
+ ceph::buffer::list bl,
std::unique_ptr<SimpleOpComp>);
- void unwatch(uint64_t cookie, const IOContext& ioc,
+ void unwatch(uint64_t cookie, IOContext ioc,
std::unique_ptr<SimpleOpComp>);
- void notify(const Object& oid, const IOContext& ioctx,
- ceph::buffer::list&& bl,
+ void notify(Object oid, IOContext ioctx,
+ ceph::buffer::list bl,
std::optional<std::chrono::milliseconds> timeout,
std::unique_ptr<NotifyComp> c);
void flush_watch(std::unique_ptr<VoidOpComp>);
- void enumerate_objects(const IOContext& ioc, const Cursor& begin,
- const Cursor& end, const std::uint32_t max,
- const ceph::buffer::list& filter,
- std::vector<Entry>* ls,
- Cursor* cursor,
- std::unique_ptr<SimpleOpComp> c);
- void enumerate_objects(const IOContext& ioc, const Cursor& begin,
- const Cursor& end, const std::uint32_t max,
- const ceph::buffer::list& filter,
+ void enumerate_objects(IOContext ioc, Cursor begin,
+ Cursor end, std::uint32_t max,
+ ceph::buffer::list filter,
std::unique_ptr<EnumerateComp> c);
- void osd_command(int osd, std::vector<std::string>&& cmd,
- ceph::buffer::list&& in, std::unique_ptr<CommandComp> c);
- void pg_command(PG pg, std::vector<std::string>&& cmd,
- ceph::buffer::list&& in, std::unique_ptr<CommandComp> c);
+ void osd_command(int osd, std::vector<std::string> cmd,
+ ceph::buffer::list in, std::unique_ptr<CommandComp> c);
+ void pg_command(PG pg, std::vector<std::string> cmd,
+ ceph::buffer::list in, std::unique_ptr<CommandComp> c);
void mon_command(std::vector<std::string> command,
- const ceph::buffer::list& bl,
+ ceph::buffer::list bl,
std::string* outs, ceph::buffer::list* outbl,
std::unique_ptr<SimpleOpComp> c);
- void enable_application(std::string_view pool, std::string_view app_name,
+ void enable_application(std::string pool, std::string app_name,
bool force, std::unique_ptr<SimpleOpComp> c);
- void blocklist_add(std::string_view client_address,
+ void blocklist_add(std::string client_address,
std::optional<std::chrono::seconds> expire,
std::unique_ptr<SimpleOpComp> c);
return impl->ioctx;
}
-void RADOS::execute(const Object& o, const IOContext& _ioc, ReadOp&& _op,
+void RADOS::execute(Object o, IOContext _ioc, ReadOp _op,
cb::list* bl,
std::unique_ptr<ReadOp::Completion> c, version_t* objver,
const blkin_trace_info *trace_info) {
trace.event("submitted");
}
-void RADOS::execute(const Object& o, const IOContext& _ioc, WriteOp&& _op,
+void RADOS::execute(Object o, IOContext _ioc, WriteOp _op,
std::unique_ptr<WriteOp::Completion> c, version_t* objver,
const blkin_trace_info *trace_info) {
auto oid = reinterpret_cast<const object_t*>(&o.impl);
}
-void RADOS::lookup_pool(std::string_view name,
- std::unique_ptr<LookupPoolComp> c)
+void RADOS::lookup_pool(std::string name, std::unique_ptr<LookupPoolComp> c)
{
// I kind of want to make lookup_pg_pool return
// std::optional<int64_t> since it can only return one error code.
name);
if (ret < 0) {
impl->objecter->wait_for_latest_osdmap(
- [name = std::string(name), c = std::move(c),
- objecter = impl->objecter]
- (bs::error_code ec) mutable {
+ [name = std::move(name), c = std::move(c),
+ objecter = impl->objecter](bs::error_code ec) mutable {
int64_t ret =
objecter->with_osdmap([&](const OSDMap &osdmap) {
return osdmap.lookup_pg_pool_name(name);
else
ca::dispatch(std::move(c), bs::error_code{}, ret);
});
- } else if (ret < 0) {
- ca::post(std::move(c), osdc_errc::pool_dne,
- std::int64_t(0));
} else {
ca::post(std::move(c), bs::error_code{}, ret);
}
}
void RADOS::create_pool_snap(std::int64_t pool,
- std::string_view snapName,
+ std::string snap_name,
std::unique_ptr<SimpleOpComp> c)
{
impl->objecter->create_pool_snap(
- pool, snapName,
+ pool, snap_name,
Objecter::PoolOp::OpComp::create(
get_executor(),
[c = std::move(c)](bs::error_code e, const bufferlist&) mutable {
}
void RADOS::delete_pool_snap(std::int64_t pool,
- std::string_view snapName,
+ std::string snap_name,
std::unique_ptr<SimpleOpComp> c)
{
impl->objecter->delete_pool_snap(
- pool, snapName,
+ pool, snap_name,
Objecter::PoolOp::OpComp::create(
get_executor(),
[c = std::move(c)](bs::error_code e, const bufferlist&) mutable {
}));
}
-void RADOS::create_pool(std::string_view name,
+void RADOS::create_pool(std::string name,
std::optional<int> crush_rule,
std::unique_ptr<SimpleOpComp> c)
{
crush_rule.value_or(-1));
}
-void RADOS::delete_pool(std::string_view name,
- std::unique_ptr<SimpleOpComp> c)
+void RADOS::delete_pool(std::string name, std::unique_ptr<SimpleOpComp> c)
{
impl->objecter->delete_pool(
name,
}));
}
-void RADOS::stat_pools(const std::vector<std::string>& pools,
+void RADOS::stat_pools(std::vector<std::string> pools,
std::unique_ptr<PoolStatComp> c) {
impl->objecter->get_pool_stats(
pools,
// --- Watch/Notify
-void RADOS::watch(const Object& o, const IOContext& _ioc,
- std::optional<std::chrono::seconds> timeout, WatchCB&& cb,
+void RADOS::watch(Object o, IOContext _ioc,
+ std::optional<std::chrono::seconds> timeout, WatchCB cb,
std::unique_ptr<WatchComp> c) {
auto oid = reinterpret_cast<const object_t*>(&o.impl);
auto ioc = reinterpret_cast<const IOContextImpl*>(&_ioc.impl);
}), nullptr);
}
-void RADOS::notify_ack(const Object& o,
- const IOContext& _ioc,
+void RADOS::notify_ack(Object o, IOContext _ioc,
uint64_t notify_id,
uint64_t cookie,
- bufferlist&& bl,
+ bufferlist bl,
std::unique_ptr<SimpleOpComp> c)
{
auto oid = reinterpret_cast<const object_t*>(&o.impl);
return impl->objecter->linger_check(linger_op);
}
-void RADOS::unwatch(uint64_t cookie, const IOContext& _ioc,
+void RADOS::unwatch(uint64_t cookie, IOContext _ioc,
std::unique_ptr<SimpleOpComp> c)
{
auto ioc = reinterpret_cast<const IOContextImpl*>(&_ioc.impl);
}
};
-void RADOS::notify(const Object& o, const IOContext& _ioc, bufferlist&& bl,
+void RADOS::notify(Object o, IOContext _ioc, bufferlist bl,
std::optional<std::chrono::milliseconds> timeout,
std::unique_ptr<NotifyComp> c)
{
return e;
}
-void RADOS::enumerate_objects(const IOContext& _ioc,
- const Cursor& begin,
- const Cursor& end,
- const std::uint32_t max,
- const bufferlist& filter,
+void RADOS::enumerate_objects(IOContext _ioc, Cursor begin, Cursor end,
+ std::uint32_t max, ceph::buffer::list filter,
std::unique_ptr<EnumerateComp> c) {
auto ioc = reinterpret_cast<const IOContextImpl*>(&_ioc.impl);
-
impl->objecter->enumerate_objects<Entry>(
ioc->oloc.pool,
ioc->oloc.nspace,
});
}
-void RADOS::osd_command(int osd, std::vector<std::string>&& cmd,
- ceph::bufferlist&& in, std::unique_ptr<CommandComp> c) {
+void RADOS::osd_command(int osd, std::vector<std::string> cmd,
+ ceph::buffer::list in, std::unique_ptr<CommandComp> c) {
impl->objecter->osd_command(osd, std::move(cmd), std::move(in), nullptr,
[c = std::move(c)]
(bs::error_code ec,
std::move(b));
});
}
-void RADOS::pg_command(PG pg, std::vector<std::string>&& cmd,
- ceph::bufferlist&& in, std::unique_ptr<CommandComp> c) {
+void RADOS::pg_command(PG pg, std::vector<std::string> cmd,
+ ceph::buffer::list in, std::unique_ptr<CommandComp> c) {
impl->objecter->pg_command(pg_t{pg.seed, pg.pool}, std::move(cmd), std::move(in), nullptr,
[c = std::move(c)]
(bs::error_code ec,
});
}
-void RADOS::enable_application(std::string_view pool, std::string_view app_name,
+void RADOS::enable_application(std::string pool, std::string app_name,
bool force, std::unique_ptr<SimpleOpComp> c) {
// pre-Luminous clusters will return -EINVAL and application won't be
// preserved until Luminous is configured as minimum version.
}
}
-void RADOS::blocklist_add(std::string_view client_address,
+void RADOS::blocklist_add(std::string client_address,
std::optional<std::chrono::seconds> expire,
std::unique_ptr<SimpleOpComp> c) {
auto expire_arg = (expire ?
}
void RADOS::mon_command(std::vector<std::string> command,
- const cb::list& bl,
- std::string* outs, cb::list* outbl,
+ cb::list bl, std::string* outs, cb::list* outbl,
std::unique_ptr<SimpleOpComp> c) {
impl->monclient.start_mon_command(