]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: don't use complete_external_callback if ImageCtx destroyed 29263/head
authorMykola Golub <mgolub@suse.com>
Wed, 24 Jul 2019 12:35:01 +0000 (13:35 +0100)
committerMykola Golub <mgolub@suse.com>
Wed, 24 Jul 2019 12:35:01 +0000 (13:35 +0100)
complete_external_callback (which requires ImageCtx) is used to
prevent concurrent callbacks, and not needed in this particular case.

Signed-off-by: Mykola Golub <mgolub@suse.com>
src/librbd/io/AioCompletion.cc

index 44ad7b72fdb01c14c093d8c5d82376408474513f..603c1f18fb1a8da477e4f48696ed4c8b3455f23b 100644 (file)
@@ -95,6 +95,7 @@ void AioCompletion::complete() {
     // must destroy ImageCtx prior to invoking callback
     delete ictx;
     ictx = nullptr;
+    external_callback = false;
   }
 
   state = AIO_STATE_CALLBACK;