return open_for_write_ret(
open_for_write_ertr::ready_future_marker{},
journal_seq_t{
- header.cur_segment_seq,
+ cur_segment_seq,
paddr
});
}
return open_for_write_ret(
open_for_write_ertr::ready_future_marker{},
journal_seq_t{
- header.cur_segment_seq,
+ cur_segment_seq,
paddr
});
});
}
journal_seq_t j_seq {
- header.cur_segment_seq++,
+ cur_segment_seq++,
convert_abs_addr_to_paddr(
get_written_to(),
header.device_id)};
r_header.committed_to,
(seastore_off_t)bl.length()
};
+ cur_segment_seq = r_header.committed_to.segment_seq + 1;
cursor_addr += bl.length();
set_written_to(cursor_addr);
last_seq = r_header.committed_to.segment_seq;
uint64_t flag = 0; // represent features (reserved)
uint8_t csum_type = 0; // type of checksum algoritghm used in cbj_header_t
uint64_t csum = 0; // checksum of entire cbj_header_t
- uint32_t cur_segment_seq = 0;
rbm_abs_addr start = 0; // start address of CircularBoundedJournal
rbm_abs_addr end = 0; // start address of CircularBoundedJournal
denc(v.flag, p);
denc(v.csum_type, p);
denc(v.csum, p);
- denc(v.cur_segment_seq, p);
denc(v.start, p);
denc(v.end, p);
denc(v.device_id, p);
std::string path;
WritePipeline *write_pipeline = nullptr;
bool init = false;
+ segment_seq_t cur_segment_seq = 0; // segment seq to track the sequence to written records
};
std::ostream &operator<<(std::ostream &out, const CircularBoundedJournal::cbj_header_t &header);