New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pacific: osd/OSD: introduce reset_purged_snaps_last #53970
Conversation
@Matan-B I suspect this PR is breaking the build: [ 63%] Building CXX object src/librbd/CMakeFiles/rbd_internal.dir/journal/DemoteRequest.cc.o Pls take a look |
dd10aa1
to
8a0361b
Compare
When the OSD preboots it sends a MMonGetPurgedSnaps message to the monitor (`_get_purged_snaps`). The monitor will reply with all the purged snapshots that their purged_epoch_ is in the range of superblock.purged_snaps_last + 1 up to the last superblock.current_epoch + 1. When the OSD will handle the reply from the mon (`handle_get_purged_snaps_reply`) it will call `record_purged_snaps` to write those purged snapshots in the OSD store as well (PSN_ keys). Once purged_snaps_last is reset, in the following OSD reboot, the snapshots that were marked as purged (purged_snaps_ keys) in the mon's store will be also marked, correspondingly, in the OSD store. That way `scrub_purged_snaps` will be able to re-trim the snapshots that weren't marked as purged in the OSD side (for some reason) Fixes: https://tracker.ceph.com/issues/62981 Signed-off-by: Matan Breizman <mbreizma@redhat.com> (cherry picked from commit 120ed0f) Manual conflict fixes: 'scrubdebug' command was removed since it's not part of the original commit. write_superblock() parameters were changed
Signed-off-by: Matan Breizman <mbreizma@redhat.com> (cherry picked from commit 680e088)
8a0361b
to
6577227
Compare
jenkins test make check |
@yuriw we need to include this in a new batch. |
Ignore this- I thought the PR was dropped from the batch. But it was retested. |
Merging based on: |
backport tracker: https://tracker.ceph.com/issues/63179
backport of #53579
parent tracker: https://tracker.ceph.com/issues/62981
this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh