using z_op = crimson::os::seastore::segment_manager::zbd::zone_op;
template <> struct fmt::formatter<z_op>: fmt::formatter<std::string_view> {
template <typename FormatContext>
- auto format(z_op s, FormatContext& ctx) {
+ auto format(z_op s, FormatContext& ctx) const {
std::string_view name = "Unknown";
switch (s) {
using enum z_op;
len += ptr.length();
}
TRACE("{} poffset=0x{:x}~0x{:x} {} buffers",
- device_id_printer_t{device_id}, offset, len, vecs.size());
+ device_id_printer_t{device_id}, offset, len, ptrs.size());
return device.dma_read(offset, std::move(iov)
).handle_exception(
//FIXME: this is a little bit tricky, since seastar::future<T>::handle_exception
device = std::move(p.first);
auto sd = p.second;
return read_metadata(device, sd);
- }).safe_then([this](auto meta){
+ }).safe_then([](auto meta){
return read_ertr::make_ready_future<uint32_t>(meta.shard_num);
}).handle_error(
crimson::ct_error::assert_all{
auto sd = p.second;
return read_metadata(device, sd);
}).safe_then([=, this](auto meta){
+ LOG_PREFIX(ZBDSegmentManager::shard_mount);
if(seastar::this_shard_id() + seastar::smp::count * store_index >= meta.shard_num) {
INFO("{} shard_id {} out of range {}",
device_id_printer_t{get_device_id()},
seastar::this_shard_id() + seastar::smp::count * store_index,
- sb.shard_num);
+ meta.shard_num);
shard_status = false;
return mount_ertr::now();
}
DEBUG("Writing 0x{:x} padding bytes to segment {} at wp 0x{:x}",
padding_bytes, id, write_pointer);
- return crimson::repeat([FNAME, padding_bytes, this] () mutable {
+ return crimson::repeat([padding_bytes, this] () mutable {
size_t bufsize = 0;
if (padding_bytes >= MAX_PADDING_SIZE) {
bufsize = MAX_PADDING_SIZE;
bp.zero();
bufferlist padd_bl;
padd_bl.append(bp);
- return write(write_pointer, padd_bl).safe_then([FNAME, padding_bytes, this]() {
+ return write(write_pointer, padd_bl).safe_then([padding_bytes]() {
if (padding_bytes == 0) {
return write_ertr::make_ready_future<seastar::stop_iteration>(seastar::stop_iteration::yes);
} else {