Commit 7756048
committed
crimson/.../fixed_kv_node: don't call copy_out if delta_buffer is empty
Cache::mark_transaction_conflicted calls get_delta(), which in turn
calls FixedKVNodeLayout::copy_out for lba nodes. If the mutation_pending
extent happens not to have any deltas, it'll fail in memcpy in
FixedKVNodeLayout::copy_out.
I think this is valid because a transaction may become conflicted
between when duplicate_for_write is called and when the actual mutation
is performed on the extent.
Fixes: https://tracker.ceph.com/issues/72579
Signed-off-by: Samuel Just <[email protected]>1 parent 7b5fe62 commit 7756048
1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
440 | 440 | | |
441 | 441 | | |
442 | 442 | | |
443 | | - | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
444 | 448 | | |
445 | 449 | | |
446 | 450 | | |
| |||
0 commit comments