From: Matan Breizman Date: Tue, 29 Jul 2025 12:17:49 +0000 (+0000) Subject: crimson/os/seastore: SeaStore::write_fsid() into coroutines X-Git-Tag: v21.0.0~157^2~189^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=32eff35a639a4830cbbf02d978017c2282861a0d;p=ceph.git crimson/os/seastore: SeaStore::write_fsid() into coroutines Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 33ceb124c05a..ec85237fc4c1 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -342,19 +342,15 @@ seastar::future<> SeaStore::write_fsid(uuid_d new_osd_fsid) { ceph_assert(seastar::this_shard_id() == primary_core); LOG_PREFIX(SeaStore::write_fsid); - return read_meta("fsid").then([this, FNAME, new_osd_fsid] (auto tuple) { - auto [ret, fsid] = tuple; - std::string str_fsid = stringify(new_osd_fsid); - if (ret == -1) { - return write_meta("fsid", stringify(new_osd_fsid)); - } else if (ret == 0 && fsid != str_fsid) { - ERROR("on-disk fsid {} != provided {}", - fsid, stringify(new_osd_fsid)); - throw std::runtime_error("store fsid error"); - } else { - return seastar::now(); - } - }); + auto [ret, fsid] = co_await read_meta("fsid"); + std::string str_fsid = stringify(new_osd_fsid); + if (ret == -1) { + co_return co_await write_meta("fsid", stringify(new_osd_fsid)); + } else if (ret == 0 && fsid != str_fsid) { + ERROR("on-disk fsid {} != provided {}", + fsid, stringify(new_osd_fsid)); + throw std::runtime_error("store fsid error"); + }; } TransactionManager::alloc_extent_ertr::future<>