]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ObjectCacher: fix flush_set when no flushing is needed
authorJosh Durgin <josh.durgin@inktank.com>
Tue, 29 Jan 2013 22:22:15 +0000 (14:22 -0800)
committerJosh Durgin <josh.durgin@inktank.com>
Tue, 29 Jan 2013 22:35:28 +0000 (14:35 -0800)
C_GatherBuilder takes ownership of the Context we pass it. Deleting it
in flush_set after constructing the C_GatherBuilder results in a
double delete.

Fixes: #3946
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sam Lang <sam.lang@inktank.com>
src/osdc/ObjectCacher.cc

index bf83cfa49c9c8462bfff2c63f791b9e3d6b4d9ff..265a806dbb231c0a6fd63f4615f9e9253452f67d 100644 (file)
@@ -1495,7 +1495,6 @@ bool ObjectCacher::flush_set(ObjectSet *oset, Context *onfinish)
   
   if (safe) {
     ldout(cct, 10) << "flush_set " << oset << " has no dirty|tx bhs" << dendl;
-    delete onfinish;
     return true;
   }
   return false;