osd: dissect and abstract RMWPipeline from ECBackend for sharing it with crimson
}
}
-bool ECTransaction::requires_overwrite(
- uint64_t prev_size,
- const PGTransaction::ObjectOperation &op) {
- // special handling for truncates to 0
- if (op.truncate && op.truncate->first == 0)
- return false;
- return op.is_none() &&
- ((!op.buffer_updates.empty() &&
- (op.buffer_updates.begin().get_off() < prev_size)) ||
- (op.truncate &&
- (op.truncate->first < prev_size)));
-}
-
void ECTransaction::generate_transactions(
+ PGTransaction* _t,
WritePlan &plan,
ErasureCodeInterfaceRef &ecimpl,
pg_t pgid,