Skip to content
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

osd: add snap trim reservation and re-implement osd_snap_trim_sleep #13594

merged 4 commits into from Feb 24, 2017


None yet
3 participants
Copy link

athanatos commented Feb 22, 2017

athanatos added some commits Feb 1, 2017

osd/PrimaryLogPG: limit the number of concurrently trimming pgs
This patch introduces an AsyncReserver for snap trimming to limit the
number of pgs on any single OSD which can be trimming, as with backfill.
Unlike backfill, we don't take remote reservations on the assumption
that the set of pgs with trimming work to do is already well
distributed, so it doesn't seem worth the implementation overhead to get
reservations from the peers as well.

Signed-off-by: Samuel Just <>
osd/: add PG_STATE_SNAPTRIM[_WAIT] to expose snap trim state to user
Signed-off-by: Samuel Just <>
rados: check that pool is done trimming before removing it
Signed-off-by: Samuel Just <>
PrimaryLogPG: reimplement osd_snap_trim_sleep within the state machine
Rather than blocking the main op queue, just pause for that amount of
time between state machine cycles.

Also, add osd_snap_trim_sleep to a few of the thrasher yamls.

Signed-off-by: Samuel Just <>

@athanatos athanatos requested a review from jdurgin Feb 22, 2017

@athanatos athanatos changed the title Wip snap trim sleep osd: add snap trim reservation and re-implement osd_snap_trim_sleep Feb 22, 2017

Copy link

jdurgin left a comment

looks good. now that snap trimming is a visible state, we should make a small sleep the default too

@jdurgin jdurgin added the needs-qa label Feb 24, 2017

@athanatos athanatos merged commit 44b26f6 into ceph:master Feb 24, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Unmodifed Submodules submodules for project are unmodified
default Build finished.

This comment has been minimized.

Copy link

stevetaylor-stc commented Mar 3, 2017

Is there any plan to backport this PR to Jewel? I might be interested in utilizing it in Jewel. I could contribute to the effort if necessary. And by contributing I mean I would be willing to do it if there isn't anyone else already doing it, though I would likely need some guidance.


This comment has been minimized.

Copy link

jdurgin commented Mar 9, 2017

@stevetaylor-stc yes, we should backport this. The backport team will pick this up now that there's an issue for it:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.