]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG: do not call on_shutdown() if (pg.deleting) 15066/head
authorKefu Chai <kchai@redhat.com>
Thu, 11 May 2017 05:13:39 +0000 (13:13 +0800)
committerAlexey Sheplyakov <asheplyakov@mirantis.com>
Fri, 12 May 2017 13:15:53 +0000 (17:15 +0400)
when a callback is called, it could be facing a PG already shut down by
OSD. but if that callback wants to shut that PG down. it should check
the PG's status first.

Fixes: http://tracker.ceph.com/issues/19902
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f3c44a0dfc859f6f625a92e727e0e521ed4a9207)

src/osd/PrimaryLogPG.cc

index 57d09420743d9848c3d51158ead3eeff83a72920..f8dbee8b134bd78d548daffe61bdfa65bfd659fb 100644 (file)
@@ -10120,7 +10120,8 @@ void PrimaryLogPG::on_removal(ObjectStore::Transaction *t)
 
   write_if_dirty(*t);
 
-  on_shutdown();
+  if (!deleting)
+    on_shutdown();
 }
 
 void PrimaryLogPG::on_shutdown()