From: Sage Weil Date: Thu, 14 Dec 2017 02:15:17 +0000 (-0600) Subject: osd: clean up pending splits when removing a pg X-Git-Tag: v13.0.2~510^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=21e8512b97aa6c78d483e30f16bf8df1b9e97872;p=ceph.git osd: clean up pending splits when removing a pg 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 --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 9b7d26443859..9b5bb1e51a69 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -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(