Commit 1fba459
committed
rgw: fix 'bucket rm --bypass-gc' for copied objects
the `--bypass-gc` argument to `radosgw-admin bucket rm` causes us to
call `RadosBucket::remove_bypass_gc()`, which loops over the tail
objects and removes each with `RGWRados::delete_raw_obj_aio()`
however, this was removing the objects with `cls_rgw_remove_obj()`,
which is for head objects, not tails. tail objects must be removed with
`cls_refcount_put()`, which preserves them until the last copy is
removed
rename `delete_raw_obj_aio()` to `delete_tail_obj_aio()` to clarify its
purpose
Fixes: https://tracker.ceph.com/issues/73348
Signed-off-by: Casey Bodley <[email protected]>1 parent 04f07e0 commit 1fba459
File tree
3 files changed
+12
-5
lines changed- src/rgw/driver/rados
3 files changed
+12
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11598 | 11598 | | |
11599 | 11599 | | |
11600 | 11600 | | |
11601 | | - | |
| 11601 | + | |
| 11602 | + | |
| 11603 | + | |
| 11604 | + | |
11602 | 11605 | | |
11603 | 11606 | | |
11604 | 11607 | | |
| |||
11608 | 11611 | | |
11609 | 11612 | | |
11610 | 11613 | | |
11611 | | - | |
11612 | | - | |
| 11614 | + | |
11613 | 11615 | | |
11614 | 11616 | | |
11615 | 11617 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1686 | 1686 | | |
1687 | 1687 | | |
1688 | 1688 | | |
1689 | | - | |
| 1689 | + | |
| 1690 | + | |
1690 | 1691 | | |
1691 | 1692 | | |
1692 | 1693 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
558 | 562 | | |
559 | 563 | | |
560 | 564 | | |
| |||
571 | 575 | | |
572 | 576 | | |
573 | 577 | | |
574 | | - | |
| 578 | + | |
575 | 579 | | |
576 | 580 | | |
577 | 581 | | |
| |||
0 commit comments