From d8a86bfbac5f935b1a3e4e61a022467b686b545d Mon Sep 17 00:00:00 2001 From: Adam Crume Date: Fri, 18 Jul 2014 12:16:59 -0700 Subject: [PATCH] rbd-replay: Bugfix: ensure PendingIOs are added before they're removed Signed-off-by: Adam Crume --- src/rbd_replay/actions.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rbd_replay/actions.cc b/src/rbd_replay/actions.cc index 26c7e64e7d337..9070c91b1bffd 100644 --- a/src/rbd_replay/actions.cc +++ b/src/rbd_replay/actions.cc @@ -131,8 +131,8 @@ void AioReadAction::perform(ActionCtx &worker) { librbd::Image *image = worker.get_image(m_imagectx_id); assert(image); PendingIO::ptr io(new PendingIO(pending_io_id(), worker)); - image->aio_read(m_offset, m_length, io->bufferlist(), &io->completion()); worker.add_pending(io); + image->aio_read(m_offset, m_length, io->bufferlist(), &io->completion()); } @@ -185,8 +185,8 @@ void AioWriteAction::perform(ActionCtx &worker) { librbd::Image *image = worker.get_image(m_imagectx_id); PendingIO::ptr io(new PendingIO(pending_io_id(), worker)); io->bufferlist().append_zero(m_length); - image->aio_write(m_offset, m_length, io->bufferlist(), &io->completion()); worker.add_pending(io); + image->aio_write(m_offset, m_length, io->bufferlist(), &io->completion()); } -- 2.39.5