All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Emanuele Giuseppe Esposito <eesposit@redhat.com>, qemu-block@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Fam Zheng" <fam@euphon.net>,
	"Vladimir Sementsov-Ogievskiy" <vsementsov@virtuozzo.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Juan Quintela" <quintela@redhat.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [RFC PATCH v2 14/25] assertions for blockdev.h global state API
Date: Thu, 7 Oct 2021 14:04:17 +0200	[thread overview]
Message-ID: <4989de6a-8164-5a96-6854-df9bb0dd6a1f@redhat.com> (raw)
In-Reply-To: <20211005143215.29500-15-eesposit@redhat.com>

On 05/10/21 16:32, Emanuele Giuseppe Esposito wrote:
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
>   block/block-backend.c |  2 ++
>   blockdev.c            | 12 ++++++++++++
>   2 files changed, 14 insertions(+)
> 
> diff --git a/block/block-backend.c b/block/block-backend.c
> index 9f09245069..18791c4fdc 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -805,6 +805,7 @@ DriveInfo *blk_legacy_dinfo(BlockBackend *blk)
>   DriveInfo *blk_set_legacy_dinfo(BlockBackend *blk, DriveInfo *dinfo)
>   {
>       assert(!blk->legacy_dinfo);
> +    g_assert(qemu_in_main_thread());
>       return blk->legacy_dinfo = dinfo;
>   }
>   
> @@ -815,6 +816,7 @@ DriveInfo *blk_set_legacy_dinfo(BlockBackend *blk, DriveInfo *dinfo)
>   BlockBackend *blk_by_legacy_dinfo(DriveInfo *dinfo)
>   {
>       BlockBackend *blk = NULL;
> +    g_assert(qemu_in_main_thread());
>   
>       while ((blk = blk_next(blk)) != NULL) {
>           if (blk->legacy_dinfo == dinfo) {
> diff --git a/blockdev.c b/blockdev.c
> index 5608b78f8f..917bcf8cbc 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -114,6 +114,8 @@ void override_max_devs(BlockInterfaceType type, int max_devs)
>       BlockBackend *blk;
>       DriveInfo *dinfo;
>   
> +    g_assert(qemu_in_main_thread());
> +
>       if (max_devs <= 0) {
>           return;
>       }
> @@ -230,6 +232,8 @@ DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit)
>       BlockBackend *blk;
>       DriveInfo *dinfo;
>   
> +    g_assert(qemu_in_main_thread());
> +
>       for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
>           dinfo = blk_legacy_dinfo(blk);
>           if (dinfo && dinfo->type == type
> @@ -252,6 +256,8 @@ void drive_check_orphaned(void)
>       Location loc;
>       bool orphans = false;
>   
> +    g_assert(qemu_in_main_thread());
> +
>       for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
>           dinfo = blk_legacy_dinfo(blk);
>           /*
> @@ -285,6 +291,7 @@ void drive_check_orphaned(void)
>   
>   DriveInfo *drive_get_by_index(BlockInterfaceType type, int index)
>   {
> +    g_assert(qemu_in_main_thread());
>       return drive_get(type,
>                        drive_index_to_bus_id(type, index),
>                        drive_index_to_unit_id(type, index));
> @@ -296,6 +303,8 @@ int drive_get_max_bus(BlockInterfaceType type)
>       BlockBackend *blk;
>       DriveInfo *dinfo;
>   
> +    g_assert(qemu_in_main_thread());
> +
>       max_bus = -1;
>       for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
>           dinfo = blk_legacy_dinfo(blk);
> @@ -312,6 +321,7 @@ int drive_get_max_bus(BlockInterfaceType type)
>   DriveInfo *drive_get_next(BlockInterfaceType type)
>   {
>       static int next_block_unit[IF_COUNT];
> +    g_assert(qemu_in_main_thread());
>   
>       return drive_get(type, 0, next_block_unit[type]++);
>   }
> @@ -792,6 +802,8 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type,
>       const char *filename;
>       int i;
>   
> +    g_assert(qemu_in_main_thread());
> +
>       /* Change legacy command line options into QMP ones */
>       static const struct {
>           const char *from;
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>



  reply	other threads:[~2021-10-07 12:08 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05 14:31 [RFC PATCH v2 00/25] block layer: split block APIs in global state and I/O Emanuele Giuseppe Esposito
2021-10-05 14:31 ` [RFC PATCH v2 01/25] main-loop.h: introduce qemu_in_main_thread() Emanuele Giuseppe Esposito
2021-10-07  9:05   ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 02/25] include/sysemu/block-backend: split header into I/O and global state (GS) API Emanuele Giuseppe Esposito
2021-10-07  9:13   ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 03/25] block/block-backend.c: assertions for block-backend Emanuele Giuseppe Esposito
2021-10-05 16:29   ` Eric Blake
2021-10-06  9:36     ` Emanuele Giuseppe Esposito
2021-10-07 10:48   ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 04/25] include/block/block: split header into I/O and global state API Emanuele Giuseppe Esposito
2021-10-07  9:33   ` Stefan Hajnoczi
2021-10-07 10:54     ` Emanuele Giuseppe Esposito
2021-10-07 11:51       ` Paolo Bonzini
2021-10-07 13:18         ` Eric Blake
2021-10-07 11:43   ` Daniel P. Berrangé
2021-10-07 13:01     ` Stefan Hajnoczi
2021-10-08  7:26       ` Emanuele Giuseppe Esposito
2021-10-05 14:31 ` [RFC PATCH v2 05/25] assertions for block " Emanuele Giuseppe Esposito
2021-10-07 10:44   ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 06/25] include/block/block_int: split header into I/O and " Emanuele Giuseppe Esposito
2021-10-07 10:52   ` Stefan Hajnoczi
2021-10-07 11:30     ` Emanuele Giuseppe Esposito
2021-10-07 13:38       ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 07/25] assertions for block_int " Emanuele Giuseppe Esposito
2021-10-07 14:19   ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 08/25] block: introduce assert_bdrv_graph_writable Emanuele Giuseppe Esposito
2021-10-07 12:01   ` Paolo Bonzini
2021-10-07 12:02   ` Paolo Bonzini
2021-10-07 13:47     ` Emanuele Giuseppe Esposito
2021-10-07 14:18       ` Stefan Hajnoczi
2021-10-05 14:31 ` [RFC PATCH v2 09/25] include/block/blockjob_int.h: split header into I/O and GS API Emanuele Giuseppe Esposito
2021-10-07 14:21   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 10/25] assertions for blockjob_int.h Emanuele Giuseppe Esposito
2021-10-07 14:21   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 11/25] include/block/blockjob.h: global state API Emanuele Giuseppe Esposito
2021-10-07 14:23   ` Stefan Hajnoczi
2021-10-08  7:20     ` Emanuele Giuseppe Esposito
2021-10-11 11:10       ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 12/25] assertions for blockob.h " Emanuele Giuseppe Esposito
2021-10-07 14:25   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 13/25] include/systemu/blockdev.h: " Emanuele Giuseppe Esposito
2021-10-07 12:00   ` Paolo Bonzini
2021-10-07 14:28   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 14/25] assertions for blockdev.h " Emanuele Giuseppe Esposito
2021-10-07 12:04   ` Paolo Bonzini [this message]
2021-10-07 14:29   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 15/25] include/block/snapshot: global state API + assertions Emanuele Giuseppe Esposito
2021-10-07 12:06   ` Paolo Bonzini
2021-10-07 14:31   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 16/25] block/backup-top.h: " Emanuele Giuseppe Esposito
2021-10-07 12:08   ` Paolo Bonzini
2021-10-07 14:32   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 17/25] include/block/transactions: " Emanuele Giuseppe Esposito
2021-10-07 14:47   ` Stefan Hajnoczi
2021-10-08  7:18     ` Emanuele Giuseppe Esposito
2021-10-05 14:32 ` [RFC PATCH v2 18/25] block/coroutines: I/O API Emanuele Giuseppe Esposito
2021-10-07 11:52   ` Paolo Bonzini
2021-10-07 14:47   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 19/25] block_int-common.h: split function pointers in BlockDriver Emanuele Giuseppe Esposito
2021-10-07 14:49   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 20/25] block_int-common.h: assertion in the callers of BlockDriver function pointers Emanuele Giuseppe Esposito
2021-10-07 14:50   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 21/25] block_int-common.h: split function pointers in BdrvChildClass Emanuele Giuseppe Esposito
2021-10-07 14:51   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 22/25] block_int-common.h: assertions in the callers of BdrvChildClass function pointers Emanuele Giuseppe Esposito
2021-10-07 14:51   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 23/25] block-backend-common.h: split function pointers in BlockDevOps Emanuele Giuseppe Esposito
2021-10-07 14:52   ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 24/25] job.h: split function pointers in JobDriver Emanuele Giuseppe Esposito
2021-10-07 14:54   ` Stefan Hajnoczi
2021-10-08 10:48     ` Emanuele Giuseppe Esposito
2021-10-11 11:12       ` Stefan Hajnoczi
2021-10-05 14:32 ` [RFC PATCH v2 25/25] job.h: assertions in the callers of JobDriver funcion pointers Emanuele Giuseppe Esposito
2021-10-07 14:54   ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4989de6a-8164-5a96-6854-df9bb0dd6a1f@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eesposit@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --cc=hreitz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=richard.henderson@linaro.org \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.