Skip to content

Commit 0401493

Browse files
authored
Merge pull request ceph#61890 from zhscn/fix-clang-19
crimson: fix compile errors in clang 19 Reviewed-by: Matan Breizman <[email protected]>
2 parents 5913258 + 7ef164e commit 0401493

File tree

8 files changed

+19
-8
lines changed

8 files changed

+19
-8
lines changed

src/crimson/common/interruptible_future.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1179,7 +1179,7 @@ struct interruptor
11791179
std::move(ic),
11801180
std::forward<OpFunc>(opfunc),
11811181
std::forward<Params>(params)...
1182-
).template handle_interruption(std::move(efunc));
1182+
).handle_interruption(std::move(efunc));
11831183
}
11841184

11851185
template <typename OpFunc, typename OnInterrupt,

src/crimson/common/operation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ struct AggregateBlockingEvent {
309309

310310
class TriggerContainer final : public TriggerI::TriggerContainerI {
311311
AggregateBlockingEvent& event;
312-
typename decltype(event.events)::iterator iter;
312+
typename std::list<T>::iterator iter;
313313
typename T::template Trigger<OpT> trigger;
314314

315315
typename T::TriggerI &get_trigger() final {

src/crimson/os/seastore/onode_manager/staged-fltree/stages/stage.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,7 +1153,7 @@ struct staged {
11531153
return insert_size(key, value);
11541154
} else {
11551155
assert(stage < STAGE);
1156-
return NXT_STAGE_T::template insert_size_at(stage, key, value);
1156+
return NXT_STAGE_T::insert_size_at(stage, key, value);
11571157
}
11581158
}
11591159

@@ -1406,7 +1406,7 @@ struct staged {
14061406
return container_t::insert_at(
14071407
mut, container, key, value, 0, _insert_size, p_left_bound);
14081408
} else {
1409-
auto range = container_t::template insert_prefix_at(
1409+
auto range = container_t::insert_prefix_at(
14101410
mut, container, key, 0, _insert_size, p_left_bound);
14111411
return NXT_STAGE_T::template insert_new<KT>(mut, range, key, value);
14121412
}

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

src/crimson/osd/osd_operations/replicated_request.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ RepRequest::interruptible_future<> RepRequest::with_pg_interruptible(
9393
auto [commit_fut, reply] = co_await pg->handle_rep_op(req);
9494

9595
// Transitions from OrderedExclusive->OrderedConcurrent cannot block
96-
this->template enter_stage_sync(repop_pipeline(*pg).wait_commit);
96+
this->enter_stage_sync(repop_pipeline(*pg).wait_commit);
9797

9898
co_await std::move(commit_fut);
9999

src/crimson/osd/pg_shard_manager.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ seastar::future<> PGShardManager::load_pgs(crimson::os::FuturizedStore& store)
2626
return get_pg_to_shard_mapping().get_or_create_pg_mapping(
2727
pgid, shard_core
2828
).then([this, pgid] (auto core) {
29-
return this->template with_remote_shard_state(
29+
return this->with_remote_shard_state(
3030
core,
3131
[pgid](
3232
PerShardState &per_shard_state,

src/crimson/tools/perf_crimson_msgr.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ static seastar::future<> run(
369369
return seastar::smp::invoke_on_all([&report, this] {
370370
auto &server = container().local();
371371
server.get_report(report.reports[seastar::this_shard_id()]);
372-
}).then([&report, this] {
372+
}).then([&report] {
373373
auto now = mono_clock::now();
374374
auto prv = report.start_time;
375375
report.start_time = now;
@@ -417,7 +417,7 @@ static seastar::future<> run(
417417
});
418418
}
419419
);
420-
}).then([this] {
420+
}).then([] {
421421
logger().info("report is stopped!");
422422
}).forward_to(std::move(pr_report));
423423
}

0 commit comments

Comments
 (0)