mirror of
https://github.com/ceph/ceph
synced 2025-01-31 23:44:10 +00:00
Merge pull request #45820 from liu-chunmei/crimson-do_osd_ops_params_t
crimson: keep do_osd_ops_params_t alive when call do_osd_ops Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
This commit is contained in:
commit
5ee066c9b9
@ -810,10 +810,12 @@ PG::do_osd_ops(
|
|||||||
ObjectContextRef obc,
|
ObjectContextRef obc,
|
||||||
std::vector<OSDOp>& ops,
|
std::vector<OSDOp>& ops,
|
||||||
const OpInfo &op_info,
|
const OpInfo &op_info,
|
||||||
const do_osd_ops_params_t& msg_params,
|
const do_osd_ops_params_t &&msg_params,
|
||||||
do_osd_ops_success_func_t success_func,
|
do_osd_ops_success_func_t success_func,
|
||||||
do_osd_ops_failure_func_t failure_func)
|
do_osd_ops_failure_func_t failure_func)
|
||||||
{
|
{
|
||||||
|
return seastar::do_with(std::move(msg_params), [=, &ops, &op_info]
|
||||||
|
(auto &msg_params) {
|
||||||
return do_osd_ops_execute<void>(
|
return do_osd_ops_execute<void>(
|
||||||
seastar::make_lw_shared<OpsExecuter>(
|
seastar::make_lw_shared<OpsExecuter>(
|
||||||
Ref<PG>{this}, std::move(obc), op_info, msg_params),
|
Ref<PG>{this}, std::move(obc), op_info, msg_params),
|
||||||
@ -821,6 +823,7 @@ PG::do_osd_ops(
|
|||||||
std::as_const(op_info),
|
std::as_const(op_info),
|
||||||
std::move(success_func),
|
std::move(success_func),
|
||||||
std::move(failure_func));
|
std::move(failure_func));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
PG::interruptible_future<MURef<MOSDOpReply>> PG::do_pg_ops(Ref<MOSDOp> m)
|
PG::interruptible_future<MURef<MOSDOpReply>> PG::do_pg_ops(Ref<MOSDOp> m)
|
||||||
|
@ -592,7 +592,7 @@ private:
|
|||||||
ObjectContextRef obc,
|
ObjectContextRef obc,
|
||||||
std::vector<OSDOp>& ops,
|
std::vector<OSDOp>& ops,
|
||||||
const OpInfo &op_info,
|
const OpInfo &op_info,
|
||||||
const do_osd_ops_params_t& params,
|
const do_osd_ops_params_t &¶ms,
|
||||||
do_osd_ops_success_func_t success_func,
|
do_osd_ops_success_func_t success_func,
|
||||||
do_osd_ops_failure_func_t failure_func);
|
do_osd_ops_failure_func_t failure_func);
|
||||||
template <class Ret, class SuccessFunc, class FailureFunc>
|
template <class Ret, class SuccessFunc, class FailureFunc>
|
||||||
|
Loading…
Reference in New Issue
Block a user