]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: clean up pending splits when removing a pg
authorSage Weil <sage@redhat.com>
Thu, 14 Dec 2017 02:15:17 +0000 (20:15 -0600)
committerSage Weil <sage@redhat.com>
Thu, 11 Jan 2018 23:07:00 +0000 (17:07 -0600)
Say we get an osdmap indicating a pg will split, but the pg is deleting and
finishes its delete before the pg consumes that map.  We need to clean up
the pending split state.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc

index 9b7d26443859df24a82ac1d122f20f463a515b09..9b5bb1e51a69ef6a103582df884151102faab29e 100644 (file)
@@ -1746,6 +1746,7 @@ void OSDService::finish_pg_delete(PG *pg)
 {
   osd->op_shardedwq.clear_pg_pointer(pg);
   pg_remove_epoch(pg->get_pgid());
+  cancel_pending_splits_for_parent(pg->get_pgid());
 }
 
 void OSDService::_queue_for_recovery(