Skip to content

Commit 8b3429e

Browse files
authored
Merge pull request ceph#65367 from myoungwon/wip-nvmedevice-coroutine
crimson/os/seastore/rbm: switch rbm to coroutine Reviewed-by: Matan Breizman <[email protected]>
2 parents e71caa9 + 1574994 commit 8b3429e

File tree

5 files changed

+420
-433
lines changed

5 files changed

+420
-433
lines changed

src/crimson/os/seastore/random_block_manager/block_rb_manager.cc

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,10 @@ BlockRBManager::write_ertr::future<> BlockRBManager::write(
135135
ceph_assert(bptr.is_page_aligned());
136136
rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
137137
if (!check_valid_range(addr, bptr)) {
138-
return crimson::ct_error::erange::make();
138+
co_return co_await write_ertr::future<>(
139+
crimson::ct_error::erange::make());
139140
}
140-
return device->write(
141+
co_return co_await device->write(
141142
addr,
142143
bptr);
143144
}
@@ -150,9 +151,10 @@ BlockRBManager::read_ertr::future<> BlockRBManager::read(
150151
ceph_assert(bptr.is_page_aligned());
151152
rbm_abs_addr addr = convert_paddr_to_abs_addr(paddr);
152153
if (!check_valid_range(addr, bptr)) {
153-
return crimson::ct_error::erange::make();
154+
co_return co_await read_ertr::future<>(
155+
crimson::ct_error::erange::make());
154156
}
155-
return device->read(
157+
co_return co_await device->read(
156158
addr,
157159
bptr);
158160
}
@@ -161,7 +163,7 @@ BlockRBManager::close_ertr::future<> BlockRBManager::close()
161163
{
162164
ceph_assert(device);
163165
allocator->close();
164-
return device->close();
166+
co_return co_await device->close();
165167
}
166168

167169
BlockRBManager::write_ertr::future<> BlockRBManager::write(
@@ -179,7 +181,7 @@ BlockRBManager::write_ertr::future<> BlockRBManager::write(
179181
DEBUG("write: exception creating aligned buffer {}", e);
180182
ceph_assert(0 == "unhandled exception");
181183
}
182-
return device->write(
184+
co_return co_await device->write(
183185
addr,
184186
std::move(bptr));
185187
}

0 commit comments

Comments
 (0)