From 195c5bb962446290e8307aa779fc766d2f7a740a Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 2 Mar 2021 19:48:18 +0800 Subject: [PATCH] crimson/os: return an errorator::future in an erroratorized chain errorator does not convert a "void" continuation to a ready future at the time of writing. Signed-off-by: Kefu Chai --- src/crimson/os/seastore/transaction_manager.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 35d686c0a33..9592ba854ac 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -181,6 +181,7 @@ TransactionManager::refs_ret TransactionManager::dec_ref( [this, &t, &refcnt] (auto &laddr) { return dec_ref(t, laddr).safe_then([&refcnt] (auto ref) { refcnt.push_back(ref); + return ref_ertr::now(); }); }).safe_then([&refcnt] { return ref_ertr::make_ready_future>(std::move(refcnt)); -- 2.39.5