For ZNS SSDs, every write to a segment/zone has to happen at the zone's
write pointer. Any write request to an offset which is not at
write pointer will be failed by the drive.
In ZNSSegment::write() error out if write offset is not same as WP.
Signed-off-by: Aravind Ramesh <aravind.ramesh@wdc.com>
seastore_off_t offset, ceph::bufferlist bl)
{
LOG_PREFIX(ZNSSegment::write);
- if (offset < write_pointer || offset % manager.metadata.block_size != 0) {
- ERROR("invalid segment write on segment {} to offset {}",
+ if (offset != write_pointer || offset % manager.metadata.block_size != 0) {
+ ERROR("Invalid segment write on segment {} to offset {}",
id,
offset);
return crimson::ct_error::invarg::make();