qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v4 10/25] assertions for blockjob_int.h


From: Hanna Reitz
Subject: Re: [PATCH v4 10/25] assertions for blockjob_int.h
Date: Fri, 12 Nov 2021 16:17:49 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0

On 25.10.21 12:17, Emanuele Giuseppe Esposito wrote:
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
  blockjob.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/blockjob.c b/blockjob.c
index 4bad1408cb..fbd6c7d873 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -83,6 +83,7 @@ BlockJob *block_job_get(const char *id)
void block_job_free(Job *job)
  {
+    assert(qemu_in_main_thread());
      BlockJob *bjob = container_of(job, BlockJob, job);

Our coding style (docs/devel/style.rst) requires all statements to come after all declarations in a block, so the assert() may not precede the bjob declaration.

block_job_remove_all_bdrv(bjob);
@@ -436,6 +437,8 @@ void *block_job_create(const char *job_id, const 
BlockJobDriver *driver,
      BlockBackend *blk;
      BlockJob *job;
+ assert(qemu_in_main_thread());
+
      if (job_id == NULL && !(flags & JOB_INTERNAL)) {
          job_id = bdrv_get_device_name(bs);
      }
@@ -504,6 +507,7 @@ void block_job_iostatus_reset(BlockJob *job)
void block_job_user_resume(Job *job)
  {
+    assert(qemu_in_main_thread());
      BlockJob *bjob = container_of(job, BlockJob, job);

Same here.

(And now I see that I’ve missed such instances in the other assertion patches, like in bdrv_save_vmstate(), those should be fixed, too)

Hanna

      block_job_iostatus_reset(bjob);
  }




reply via email to

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