mirror of
https://github.com/ceph/ceph
synced 2025-02-21 09:57:26 +00:00
Merge pull request #44147 from rzarzynski/wip-crimson-new-seastar
crimson: bump up Seastar to recent master and fix FTBFS Reviewed-by: Samuel Just <sjust@redhat.com> Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
This commit is contained in:
commit
b03d3d9165
@ -21,6 +21,13 @@ public:
|
||||
|
||||
template <typename Func, typename Result = std::invoke_result_t<Func>>
|
||||
seastar::futurize_t<Result> with_lock(Func&& func) {
|
||||
// newer versions of Seastar provide two variants of `with_lock`
|
||||
// - generic, friendly towards throwing move constructors of Func,
|
||||
// - specialized for `noexcept`.
|
||||
// unfortunately, the former has a limitation: the return value
|
||||
// of `Func` must be compatible with `current_exception_as_future()`
|
||||
// which boils down to returning `seastar::future<void>`.
|
||||
static_assert(std::is_nothrow_move_constructible_v<Func>);
|
||||
return seastar::with_lock(mutex, std::forward<Func>(func));
|
||||
}
|
||||
|
||||
|
@ -432,7 +432,8 @@ seastar::future<> AlienStore::do_transaction(CollectionRef ch,
|
||||
std::move(done),
|
||||
[this, ch, id] (auto &txn, auto &done) {
|
||||
AlienCollection* alien_coll = static_cast<AlienCollection*>(ch.get());
|
||||
return alien_coll->with_lock([this, ch, id, &txn, &done] {
|
||||
// moving the `ch` is crucial for buildability on newer S* versions.
|
||||
return alien_coll->with_lock([this, ch=std::move(ch), id, &txn, &done] {
|
||||
Context *crimson_wrapper =
|
||||
ceph::os::Transaction::collect_all_contexts(txn);
|
||||
assert(tp);
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit f43e1b1a4174caf9c507e1cfbece252a95dfd467
|
||||
Subproject commit e692a2d3fcf5593b7a00ab6900ee7e7762f989ac
|
Loading…
Reference in New Issue
Block a user