Skip to content

Commit d24ea15

Browse files
committed
crimson/osd: move the destructor of OpsExecuter to ops_executer.cc
Signed-off-by: Zhang Song <[email protected]>
1 parent e0e3dc9 commit d24ea15

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/crimson/osd/ops_executer.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ namespace {
3232

3333
namespace crimson::osd {
3434

35+
// workaround for clang 19
36+
// when a .cc file includes ops_executer.h but doesn't include the pg.h,
37+
// it seems that clang++-19 can't retrieve the type hierarchy of PG, so
38+
// that the destructor of boost::intrusive_ptr<PG> could not find the hidden
39+
// friend of intrusive_ptr_release.
40+
// Moving the destructor invocation of intrusive_ptr to this file could
41+
// solve this issue.
42+
OpsExecuter::~OpsExecuter() {}
43+
3544
OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
3645
{
3746
std::string cname, mname;

src/crimson/osd/ops_executer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,8 @@ class OpsExecuter {
383383
snapc) {
384384
}
385385

386+
~OpsExecuter();
387+
386388
template <class Func>
387389
struct RollbackHelper;
388390

0 commit comments

Comments
 (0)