mirror of
https://github.com/ceph/ceph
synced 2024-12-30 15:33:31 +00:00
Merge pull request #31657 from liewegas/fix-merge-vs-backoff
osd: release backoffs during merge Reviewed-by: Neha Ojha <nojha@redhat.com> Reviewed-by: Jason Dillaman <dillaman@redhat.com> Reviewed-by: Josh Durgin <jdurgin@redhat.com> Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
commit
941807d88e
@ -8474,6 +8474,11 @@ bool OSD::advance_pg(
|
||||
pg->write_if_dirty(rctx);
|
||||
dispatch_context(rctx, pg, pg->get_osdmap(), &handle);
|
||||
pg->ch->flush();
|
||||
// release backoffs explicitly, since the on_shutdown path
|
||||
// aggressively tears down backoff state.
|
||||
if (pg->is_primary()) {
|
||||
pg->release_pg_backoffs();
|
||||
}
|
||||
pg->on_shutdown();
|
||||
OSDShard *sdata = pg->osd_shard;
|
||||
{
|
||||
|
@ -1085,11 +1085,13 @@ protected:
|
||||
hobject_t end = info.pgid.pgid.get_hobj_end(pool.info.get_pg_num());
|
||||
add_backoff(s, begin, end);
|
||||
}
|
||||
public:
|
||||
void release_pg_backoffs() {
|
||||
hobject_t begin = info.pgid.pgid.get_hobj_start();
|
||||
hobject_t end = info.pgid.pgid.get_hobj_end(pool.info.get_pg_num());
|
||||
release_backoffs(begin, end);
|
||||
}
|
||||
protected:
|
||||
|
||||
// -- scrub --
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user