Commit b32194a
committed
crimson/osd: fix assertion fail in prepare_clone
Ops like rbd.assert_snapc_seq can return -ERANGE, but we were preparing
clones in OpsExecuter constructor before guard evaluation.
On retry with sparse_copyup, this led to ceph_assert(!existed) in
prepare_clone() due to the pre-created clone OBC.
This adds precise OBC invalidation during rollback using single key
clear.
Fixes: https://tracker.ceph.com/issues/72705
Fixes: https://tracker.ceph.com/issues/72709
Fixes: https://tracker.ceph.com/issues/72041
Fixes: https://tracker.ceph.com/issues/72650
Signed-off-by: Kautilya Tripathi <[email protected]>1 parent 61cdd26 commit b32194a
2 files changed
+25
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
450 | 450 | | |
451 | 451 | | |
452 | 452 | | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
453 | 466 | | |
454 | 467 | | |
455 | 468 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1155 | 1155 | | |
1156 | 1156 | | |
1157 | 1157 | | |
1158 | | - | |
| 1158 | + | |
| 1159 | + | |
1159 | 1160 | | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
1160 | 1171 | | |
1161 | 1172 | | |
1162 | 1173 | | |
| |||
0 commit comments