qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 05/25] block/block-backend.c: assertions for block-backend


From: Emanuele Giuseppe Esposito
Subject: Re: [PATCH v4 05/25] block/block-backend.c: assertions for block-backend
Date: Tue, 16 Nov 2021 11:15:55 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0



On 12/11/2021 12:01, Hanna Reitz wrote:
On 25.10.21 12:17, Emanuele Giuseppe Esposito wrote:
All the global state (GS) API functions will check that
qemu_in_main_thread() returns true. If not, it means
that the safety of BQL cannot be guaranteed, and
they need to be moved to I/O.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
  block/block-backend.c  | 90 +++++++++++++++++++++++++++++++++++++++++-
  softmmu/qdev-monitor.c |  2 +
  2 files changed, 91 insertions(+), 1 deletion(-)

diff --git a/block/block-backend.c b/block/block-backend.c
index 0afc03fd66..ed45576007 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c

[...]

@@ -1550,6 +1596,7 @@ BlockAIOCB *blk_aio_pwritev(BlockBackend *blk, int64_t offset,
  void blk_aio_cancel(BlockAIOCB *acb)
  {
+    assert(qemu_in_main_thread());
      bdrv_aio_cancel(acb);
  }

This function is in block-backend-io.h, though.

I am confused a little on the {blk/bdrv}_aio functions, namely
blk_aio_cancel
bdrv_aio_cancel
blk_aio_cancel_async
bdrv_aio_cancel_async

Do you think they should be I/O? The assertion seems to hold though.

I agree with the rest of the comments.

Thank you,
Emanuele




reply via email to

[Prev in Thread] Current Thread [Next in Thread]