From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534223; cv=none; d=zohomail.com; s=zohoarc; b=VPiKFSoAKjrU8mOJSR40trQUQ/Vy406GPdwTfIyjzhMneoFYAEEytQjbToq5fp+/dMGumtbrvGM58AzO8a+x64zwpso/bpyOqgANuoKOZX3S/vBUfHCt23IoWeDm0k4/+Xlduu+Y5Pi5gxHXwNo9DFKi9bp33eYTA19rdl+EKEM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534223; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IjhaPEySj2ajiT+j39JgZYAcWp9YnSZM59v8er2az0s=; b=aqaCbikow2Yk6KhlomDGsqp0Y0kXBqBdVOpZ03SiAOAg9DgRl9oDL/oEatjZwPkmeFY4HHU15sQQgrceQ4moDeyS8IPC1QQG9Yv5DLiKDHnuJZpjHgWWJcRPL4gKIXlANZek/EtfFHjpWGc8FDAgEUijwnSPhC8CO4rn9N6qtDI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784534223812290.2312391853262; Mon, 20 Jul 2026 00:57:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlirO-0003ZZ-Hf; Mon, 20 Jul 2026 03:56:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirJ-0003TM-9H for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:19 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirF-0006jM-VF for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:17 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-284-JgVuit-kMgK1jPYX8qS_FA-1; Mon, 20 Jul 2026 03:56:09 -0400 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2C2E5195DE19; Mon, 20 Jul 2026 07:56:07 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id AEE44158C; Mon, 20 Jul 2026 07:56:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IjhaPEySj2ajiT+j39JgZYAcWp9YnSZM59v8er2az0s=; b=XUn4+4IcevL95IWFAa50eXx8RX9m+UmgpqOS8/YBC4VIpYoLXlhrTVrA+J6ED0bKUkIsld BbLnEEq3rYBSvpLuBF/vnKP+ZeMqd7hNXtXpne++SZkELCR44Vzj5W6B0ySGg4kiNj6IRw n2VC+8erkH9jPr5DVIQPkTvd9KLstmk= X-MC-Unique: JgVuit-kMgK1jPYX8qS_FA-1 X-Mimecast-MFC-AGG-ID: JgVuit-kMgK1jPYX8qS_FA_1784534168 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:30 +0400 Subject: [PATCH 1/8] monitor: annotate monitor_qmp_dispatcher_pop_any() as coroutine MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-co-v1-1-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=741; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=yCQTIOZ3vdGSd0wX9FrJ+Idz4YTHnIHGhg0Q7MfK0Pk=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJm3lJfJ6ohY7uz1cUw8l9YT42D+RXR3qnr vkvsHJbEpaJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5fkOD/9cRo7MNM4+pqSDsys8gDgW3GuMHh1KDecO9oSlPlFqHPZR8xKJW+UBUPeBLfzWe0SkXVM EgwtKvxHf2nJFxJIXoQ3RmYPXZvcu0bbwW09aoTgffW0SvZ90NvdVu5gGRJL77VN7OX13se0qrk Nq/FOmPbOi7mlgoQJR2E0tP3td6Pm8T1XtUwoDEDFu+jTS7UUPU7nCNtgL9R8bnpp2ZeYQ+t73l jBkM71m6SEkFlWlnmb/EYAedmt/GVhFMfty1Jw32BLdWR5cVsEK+PcKuPluonj2ieIUEyrSnFzc nx0SYxXkUVKwQLSgvhaTUREGh1tsD1mic9T97mHZXIdXUtjAPfpF07kbvHFAGGQBpRv5I+fw609 IF9jB2Ca7v11FvsXm+u2dAservR9BMb14AIdjuPXfFdAFvqkvNoHAqyHojAjgLLFJJ8O2elle1B W1og6muJNAUKv7Whp4O6iogUgKaWqfyq+Cxv3v4nmywF80qu3q+gZw42NQg9q2bYR1CtlYN6e22 +cVsnQvg4S5XHkx2WF0quyrrz/K+xm15m4e0PrLWvLm+MivthT3jm0FDbf5x58HGlcJf7/ALfV2 2UvvhgcA6bBTr9KZj/idyZw23D4534bk/iDP1Knx34kY6MkQV3ZNsoNln8fFL63llOBZynv5swW M1sHhwUCyZ0bglw== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: permerror client-ip=170.10.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534226143158500 The function calls qemu_coroutine_yield(), and is called from monitor_qmp_dispatcher_co(). Fixes: 60f4f62efeb ("monitor: extract request dequeuing to a new function") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- monitor/qmp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monitor/qmp.c b/monitor/qmp.c index 223e0643c2a..338d37cb7e5 100644 --- a/monitor/qmp.c +++ b/monitor/qmp.c @@ -342,7 +342,8 @@ static QMPRequest *monitor_qmp_requests_pop_any_with_lo= ck(void) return req_obj; } =20 -static QMPRequest *monitor_qmp_dispatcher_pop_any(void) +static QMPRequest * coroutine_fn +monitor_qmp_dispatcher_pop_any(void) { while (true) { /* --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534221; cv=none; d=zohomail.com; s=zohoarc; b=FTOIKCF/hMj2yFqW42YuKfizVnADmgdM/1rAMoEuAWoFFH1ankzRzkNqqZMCMnhlKDZ/piZGAkcOGL2EIwF/hqAk1tjEAXFpbGl5AREIV24DEEm2l0yxNgj/5zGP8/UqeqWstsILFvnBAE+/X1FDn0USMvpMGFQ0QU2GCCds0p8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534221; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=COHT7p/iqsTdPamcZicw3oA4ocmXtjDA5E14rv82Tas=; b=TrPS3zQu+MRfsDfbFqVvwl74CL0M6ya8bIBPr62N8Mm8See2v94+HGWSvTb51AI0CTrIg6N2LjdLr4mKJywFbld5UDY6ArNBCcBWHBbM5Ptnpe5j3mJeETnVSlAMiW0/uBDPxDOgYvXHXSy8wKkT4WKgNSIeb37wrY61N33N4j0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784534221610144.24133579201907; Mon, 20 Jul 2026 00:57:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlirP-0003d6-DA; Mon, 20 Jul 2026 03:56:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirO-0003Yd-Al for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirL-0006jq-Pc for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:22 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-329-1ephcCtmPOaVdVcRD1KrdA-1; Mon, 20 Jul 2026 03:56:15 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A9EA41944EAB; Mon, 20 Jul 2026 07:56:13 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6F35E1955F73; Mon, 20 Jul 2026 07:56:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=COHT7p/iqsTdPamcZicw3oA4ocmXtjDA5E14rv82Tas=; b=dE1oyd43t6NRm7CdJ0494aNUwuoLcfGDch+Iasrb4m5N8+ty0MryUdpHxCJwhVGN9Ibyx1 HNU33IE3oN7mTeXi/+nRo3ODTx47dvEAMrk3w7egKgwYclXmavvij1dzH5JLwH7D0d51oz fjZDrFALUfcxzKDghD0n7PqLvaeFU/Q= X-MC-Unique: 1ephcCtmPOaVdVcRD1KrdA-1 X-Mimecast-MFC-AGG-ID: 1ephcCtmPOaVdVcRD1KrdA_1784534174 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:31 +0400 Subject: [PATCH 2/8] migration: fix qemu_get_counted_string annotation MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-co-v1-2-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=799; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=N6+L/HnMPoOeFVHLSkUq4poAfMYUnwCM4couCI5iOrU=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJlx+ej+bpFQ3bSPwwRWhu1sAyEaprMReIu r6EYhcqf5uJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5RAIEACPwUGNBa4OSzulBfcHmirufW7Q9ZWtVD8WRKl4QUwYh0x8Vw0wi8AIy8fzd4vXzHG+9SU iuJwNvxODCPewrohwvuzDEFNhfj/d80OL7s1wW4zuYWr3mt3I48r0HpBZrG6GFx/fh+JKh/lV9V yHM74KG/iXF33Qf21gOX2aw/KCFAfGjQ+YgMRf8j55j3uoZOV4rA4KEho/PctuD0xF8GPfRLBUa V4gpAf8InyTVps3Qj068taPoy3njqHXwytycp4WeAG5Cr3DG4QP20zkw2ufPGebXcbm9WlkW8Kj lANa4PkcYh8h6j6oWGX6Tp27ajZeemLSXckz0ZtPS1cVcoWquGHMHe+fBJMisXqkkRawGqShLQ0 9aajHGOdymqfU7zpvfYOKwyhW9YuCLeZ1am7ukvgliGx0pa5mAVUARArVHBV8XY2Wg2Rao3IPFs a9TW6Y5biJGr3YAKMD6SkBXZzq+86hHy/LFyOw8G0iMixpfLkvb7L3yROPwHKC53pa+xUIIfEkZ SA6L6R04xlo7Pyt5ShqF80J3DWQjzHwmr5tgOOjiAXaP6HLGUimlycrzPfKsC0hEEGdvVzzmtSK qxwC2l46fIJFl/BebrwRX2f81u5r8fg9dW767+2Wb9FQ8HUHoxPKpKXBDAfBPHEhPX6Ufv1LWIi NwJ4kSn5fS9vNnQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: permerror client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534222306158500 Fixes: 394b9407e4c ("migration: mark mixed functions that can suspend") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Peter Xu Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- migration/qemu-file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/qemu-file.c b/migration/qemu-file.c index d5a48115bd6..f30e13c66d7 100644 --- a/migration/qemu-file.c +++ b/migration/qemu-file.c @@ -830,7 +830,7 @@ uint64_t qemu_get_be64(QEMUFile *f) * else 0 * (Note a 0 length string will return 0 either way) */ -size_t coroutine_fn qemu_get_counted_string(QEMUFile *f, char buf[256]) +size_t coroutine_mixed_fn qemu_get_counted_string(QEMUFile *f, char buf[25= 6]) { size_t len =3D qemu_get_byte(f); size_t res =3D qemu_get_buffer(f, (uint8_t *)buf, len); --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534202; cv=none; d=zohomail.com; s=zohoarc; b=GnjhU/hLgWriec+RdJe0/RG4ZkAORg+r42zI3BNqPsq3Z2yQCBXaUJ1c9O+SW2bJkzC5mCH1fuTPt6saWwa3OYfxbM0EG4n9IUc4pzTa5B5/K+q7ywxyUxdOHnnncwotEqFbFEBXoZVdqYyXH1y0M7GPrsxfEq1kRAfnUOoC2rQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534202; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5QTOvl8AY8NN1PStmYWdJeZDvzMfZigdv0pXiWXClfA=; b=iVg12dJAjHvqjvUm7UPwvJJCiTN8V6rwLSuBIQeYV0qh1zoMUEyjpOfOMHRNm/ccV1C42CMn0Y9n8qSIIfHy3F6eTpG3DZmM3zguse/bLinr0CW7A4C2TqiyebjilskKTd8yf3dtKvUXTvTjwwd/yZmipG7vxMpTgREth86ckQU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784534202272910.0501933605537; Mon, 20 Jul 2026 00:56:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlirU-0003ee-JT; Mon, 20 Jul 2026 03:56:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirT-0003e2-7f for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirR-0006kL-S3 for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:26 -0400 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-423-z8nqN9IpM2Kmb4j07aKHRg-1; Mon, 20 Jul 2026 03:56:21 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7FE43195C267; Mon, 20 Jul 2026 07:56:19 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 906E930002D6; Mon, 20 Jul 2026 07:56:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5QTOvl8AY8NN1PStmYWdJeZDvzMfZigdv0pXiWXClfA=; b=H4jciwD9x26wAq8zFhGgeBT020uLXcy1HRsGXK/3bY7bfcUDKhwmyUAld70beK9+SYgDvP pLWyN3gPhoUrx+4y7e5AgFab/9uNp0Da9938pikSrblLmaz+WJkBlnlXSnWdwYIhZbix2V DUPX8zFhFk3peLsmLZt0UPrJGLOqibg= X-MC-Unique: z8nqN9IpM2Kmb4j07aKHRg-1 X-Mimecast-MFC-AGG-ID: z8nqN9IpM2Kmb4j07aKHRg_1784534179 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:32 +0400 Subject: [PATCH 3/8] io: add missing coroutine annotation MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-co-v1-3-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=1375; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=0uczZ0FGO8LAP5viyGHp+/jxtNxL630HdwYtMufZx5w=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJR+JAKejvppC4K18+1jyEdnxLV+7l5FH4d bj0E9E18KWJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5SpTD/sEFsZvOhVNETpyJacq1WDjsQwhdf6vVRDTle6EPuCTnI0qNdl+pJJuAjRq4OXzlExwWkw 38rosD1s5i54gl1cfM7H84MjiRUM9o7BwCenABwGJ2G8aQ2rh0oPRyhp6wezlsB3aNdi515bqln NhVNh+DxLRNf7aszVouX1zTNvEC0I1RX2dcUAwq/dIMPZeccIpIzoxX44GomuVjE3mcNNmioBCL oJGmog+loSSa/zDjEGkBsAvohWF+1wGArD5cACn2Ylkp7zZ032f7dK9fyqtv86R0/VfYAZX2LHn TvN5BGICiE3ZBOyaZGWuJ0lwL5jqDTh41ajF8a/tNkfvY3mG7Xjyc+Js0L9/uXUKfeN2I1nWBvG 9Cv9acyi4lp0swyUgdtDLAxsWuKI6es1t7Bx8LNm4w+JretscHcwO3lHOzUkWdMBd01RAq9SGz2 NSjZUG/OtlIEtKeb5tBr7GXrUDNb8hoxaGI6yy6M2Yf0OyTYYMVmbu8baeWI8VH4FwL7syDmyk9 w2OgH+Pqm0mFiOFbw63hF944tNW96l6qrPIo6bfcJTFK8jWo6S6nW+s0sORab94LTXqG7rQaB9b hSCbNoXPe949y+hV67xrIJ/bqFXFGkVvGPzDbbZ+VmGVkbuEqdbV8SzLFvtNdjDQXuSs8rloSGM MZKUhjzwKJNzReQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: permerror client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534204028158500 Fixes: 1edf0df28409 ("io: Add qio_channel_wait_cond() helper") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/io/channel.h | 4 ++-- io/channel.c | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/io/channel.h b/include/io/channel.h index 98485c9280a..c90ace20d53 100644 --- a/include/io/channel.h +++ b/include/io/channel.h @@ -1016,8 +1016,8 @@ void qio_channel_wait(QIOChannel *ioc, * This will work with/without a coroutine context, by automatically select * the proper API to wait. */ -void qio_channel_wait_cond(QIOChannel *ioc, - GIOCondition condition); +void coroutine_mixed_fn qio_channel_wait_cond(QIOChannel *ioc, + GIOCondition condition); =20 /** * qio_channel_set_aio_fd_handler: diff --git a/io/channel.c b/io/channel.c index 2853dadb684..620256f310d 100644 --- a/io/channel.c +++ b/io/channel.c @@ -905,8 +905,9 @@ void qio_channel_wait(QIOChannel *ioc, g_main_context_unref(ctxt); } =20 -void qio_channel_wait_cond(QIOChannel *ioc, - GIOCondition condition) +void coroutine_mixed_fn +qio_channel_wait_cond(QIOChannel *ioc, + GIOCondition condition) { if (qemu_in_coroutine()) { qio_channel_yield(ioc, condition); --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534215; cv=none; d=zohomail.com; s=zohoarc; b=Fg1QYNsv+PXnkrhp9LrOlsSrqi93iQ1/FnzF1dU3k8rJK4MVdqbNcy2TLD39FEaoMH1yrbxj51xRg3l1dDjVEJ5Sdn59BFHXUHfsZK1FFgs1X8XnWlwz1HkwzJU9LFNj2igXxkLwEyBeXXOxY2MbdMQCjksgLqaLmyV0tNmKlu0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534215; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ALldkh8seNA+CMYH3lEA3G+/dS0/SJeW8CIYrG9pcqg=; b=JjeIb8g5zNwoV1lB0nLD/xRaq2TTW0qsxxEciXdP/kXXmmGdo9Rv2UQJtTy4oC2YMxTxyWR6C612DByttHj7/o7qckoBKY2K5OYWkC8mz5M07wLXhK6ONWEF/t3B4kX0i9rVdSarUtpiwTTQRF1F1A62Jf5kqCd1DnAq5MS1n7U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 178453421581414.737388931356804; Mon, 20 Jul 2026 00:56:55 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1366155.1616074 (Exim 4.92) (envelope-from ) id 1wlirc-0005yz-Qv; Mon, 20 Jul 2026 07:56:36 +0000 Received: by outflank-mailman (output) from mailman id 1366155.1616074; Mon, 20 Jul 2026 07:56:36 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirc-0005ys-NY; Mon, 20 Jul 2026 07:56:36 +0000 Received: by outflank-mailman (input) for mailman id 1366155; Mon, 20 Jul 2026 07:56:34 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlira-0005v6-Qy for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 07:56:34 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wlira-006OJC-7B for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 09:56:34 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a5dd4b1-e002-0a2a0a5209dd-0a2a4504d9ec-2 for ; Mon, 20 Jul 2026 09:56:34 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a5dd4b0-b57f-0a2a45040019-aa0a857ca755-3 for ; Mon, 20 Jul 2026 09:56:33 +0200 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-402-jdj5FvwpPZimA4mMbZqh9A-1; Mon, 20 Jul 2026 03:56:27 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2731F1956095; Mon, 20 Jul 2026 07:56:25 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 96DF31955F73; Mon, 20 Jul 2026 07:56:23 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-Id:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ALldkh8seNA+CMYH3lEA3G+/dS0/SJeW8CIYrG9pcqg=; b=QUGisbldSb2V0DNiC4xld7yWenmoU6xDMmH7MILqqWSMTrOGHn4dPO55ww9quASkBe9WTm Sjf5vy53VQ+faTtaJPRATQlZ48AMtmYV7yWtrFCdtGll6DX96ejIV6sFuqsrY6unY3c0HS eHkEJiaf2oFcmC0OaEr4w16VLQWOEwg= X-MC-Unique: jdj5FvwpPZimA4mMbZqh9A-1 X-Mimecast-MFC-AGG-ID: jdj5FvwpPZimA4mMbZqh9A_1784534186 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:33 +0400 Subject: [PATCH 4/8] block: add missing coroutine annotation MIME-Version: 1.0 Message-Id: <20260720-co-v1-4-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=861; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=WmyEwYMEsZBPe16QwpjcWihXuT8+mm7P1L0OltCg6FI=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJA2EiDfjrLe0AmLG5DHsASaHz6NBI5jV4Q MGQdc/B9EmJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5cKFD/9P2uRbNUYrYGtaBq2O66ze0WyGYtu7Jf8KB/SPvKvaQ9PDNhMzEUwX+kb+2gUVqMYdFy4 noa0RtH8Yjg3PrTX4HrT2rAoJe79Iro7gUKYrbrlqm+E0CCIDbNzwcQ2usPXGrXswZerkH7T+5c bpKsaRmkKrzTIQw1Sj8RQHchphAgo8Xsz04wt151GrNd76Tkdu4JcySLtxb6WJnrDYTPS+HLOAt RwgvB/9AnknYNnCwg2FoyCvf9rqsSZuEbAllihNkd+wcAa6b5JPEj5tfJijtCyq/V1ZS0v7IkTC pvvuKKH6+zgARuwnplV5l2tOP5jtxPfHfgZS7W6H6ZjLDxf29aObVcGVKOTau8KLNWRj+F1L6zS ccpIwmZSf8x+pesappkS2YxmhaN/mmU9F+YadIxSfArGlsclY8lGRmBUIkhHo/+WxfnUx4P3YAL VHv0okqVOEka0w+7liQOelrhh5PQP0+Wzz8CqHqDMJzhDsJThU2VcDplF4pFgpvvR/ME8AL9fe6 8KeakmrcRBIaY6njZDrIgv/OhPQa/NpKFiYQJMPBlP8FDuOgP0EJl8eiH/WPZ76ebiutGujSb8s NnH3ftmtYGjbgb7EYd6nzo2JGxBM0DZnEkMcORwRfbya8vl0Ul+LxZ2Ylj8QiP4Py4pMe1xCIYx Y2WkjmpXIm6wH/g== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-MFC-PROC-ID: __c8828leIr4bXvZozUpkaVdaERiCy0ZhV6m332mp0M_1784534186 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ebf023/1784534193-532CCB50-21455C39/0/0 X-purgate-type: clean X-purgate-size: 863 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534218102158500 The function was extracted without carrying the annotation. Fixes: 23743ab282af ("block: move commit_run loop to separate function") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- block/commit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/commit.c b/block/commit.c index c5e3ef03a21..2d52c39594c 100644 --- a/block/commit.c +++ b/block/commit.c @@ -128,8 +128,9 @@ static void commit_clean(Job *job) blk_unref(s->top); } =20 -static int commit_iteration(CommitBlockJob *s, int64_t offset, - int64_t *requested_bytes, void *buf) +static int coroutine_fn +commit_iteration(CommitBlockJob *s, int64_t offset, + int64_t *requested_bytes, void *buf) { BlockErrorAction action; int64_t bytes =3D *requested_bytes; --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534222; cv=none; d=zohomail.com; s=zohoarc; b=csFoOwTi50N4he6i2uJ1TLYauezKOwX21zTac41/bvGsvLHCy/eEGtZlA3vBpU4GhWkIKAoJ4aH7SFXZ/Dd0sJ1gRzD+HdiWOk9CIbqqVFxYjA4qrPOa9kOUjAsBQaWHnfIkOCKkqZ0AyOdVO1/3JOsbiOksvA0b1BPTQTP0+zU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534222; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=utSN3mhE2is8KfGh3+2A1hakyZDW+n+VzyAtNi0hb8g=; b=muIASfcYfEY1J147lnft3NevheVBaXz1HfgNjTURbLEed+EJRQ901z0NSt4t1MX1AzNLoiizm2a8eR5Tw3M+MCq9FqbjsjzHqRpis9V08jHxjoFE+v0uFuhuAXHPJ8fsYpqh8cklJIzK8rL+xMfhe77sif/uNrnfEPd0Z07l5zQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784534222811803.142372636044; Mon, 20 Jul 2026 00:57:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlirk-0003pt-1n; Mon, 20 Jul 2026 03:56:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlird-0003lx-Ts for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlirc-0006lP-IP for qemu-devel@nongnu.org; Mon, 20 Jul 2026 03:56:37 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-479-VB5yDZjfN5uX1YugrrQK3A-1; Mon, 20 Jul 2026 03:56:32 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9BA841956057; Mon, 20 Jul 2026 07:56:30 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CAB5D195422C; Mon, 20 Jul 2026 07:56:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=utSN3mhE2is8KfGh3+2A1hakyZDW+n+VzyAtNi0hb8g=; b=hKlWoJS49i8hN2+vgCfreVyHKdbW3eZe6ZDcsy2jwlieleVfjKq2dGTIoRZsGkcvrcuZHx 6oT8BompKwJH8c/rEahtKRbYO/JhJeb86fOgqqq3jzPCbkKtuUOhyuDrpGk9k84BrYR4k6 1GiegvELj0yukDtDU3LYPCOp3raMTGE= X-MC-Unique: VB5yDZjfN5uX1YugrrQK3A-1 X-Mimecast-MFC-AGG-ID: VB5yDZjfN5uX1YugrrQK3A_1784534190 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:34 +0400 Subject: [PATCH 5/8] qcow2: remove invalid qcow2_check_refcounts calls MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260720-co-v1-5-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=1376; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=lDMiv5gtrBs/qk0wtWevIj1n6j5/hXAFjJohWIk2KvE=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJagLQUSmkkLOieomfVHfQf3Yg/ieZBFMD8 3E57Ey18IKJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5Tf5D/9/GombD/VzsbM/KN4eV+sUCeRbrgLneqzrGGiilG+mkvhBkAKEK+1hau1h1tarv0Mv+fi YGWaCug8JeZKiW3JeoHpClkZjYE+sFcimL+SI63Ll72CsTooTm/AOeql5HSar2LgPQ0sbYPVSGA 7WMtKSnPtp41QS/N+ttHibR4oZwW58Qr2WEnD/lJbayNS7x8x+4tgriHicBsWDZGjgYKdJiGfYa wmvr9WSu4kPDrI3cbS8N2+wS8ZXNuDYZqASTRbFJo8F3cRnoVe9FU/2T5VBw+u6SdwBo6P+InXH jdCh8by7q49AYj81a3RXBBQUTo4E1KNL+PVwT9dyBVmbGKzodsz/vkap3GF6Io6/aSyU//VR+/e /KaT5LwRjm5CbajylToskjl4GTCviPaNAcj0h+N8rIjS82U5hE5OBHJGv1D5QxxgqhXkDZ7UW3R TqMXH81S2RikpKG8TzHNjfW5DbXapIKSPa9oBjAISx8dQeCbXd/0vRHBlep+su0x1l9wtmSVLy7 r0RoGtOh/DO78mbFrmQwoBde6sepR2ORnDTz6L8UxVuq77tw+a+X8b2cp6kmdowBCpa9zALyDFW h0cgNPViS0D6em8jQPf/G6YYOHeF1yOjjHHQpsHCySPwKBT6gxGV4TE8tlv1PGhDqBdPM/GaWco 0vMxckJnT25iCvQ== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: permerror client-ip=170.10.129.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.01, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534224130158500 Those DEBUG_ALLOC-guarded are dead code incorrectly calling coroutine fn from non-coroutine. Remove it. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- block/qcow2-snapshot.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/block/qcow2-snapshot.c b/block/qcow2-snapshot.c index 1e8dc48be1c..8453ad73d10 100644 --- a/block/qcow2-snapshot.c +++ b/block/qcow2-snapshot.c @@ -740,12 +740,6 @@ int qcow2_snapshot_create(BlockDriverState *bs, QEMUSn= apshotInfo *sn_info) ROUND_UP(sn->vm_state_size, s->cluster_size), QCOW2_DISCARD_NEVER, false); =20 -#ifdef DEBUG_ALLOC - { - BdrvCheckResult result =3D {0}; - qcow2_check_refcounts(bs, &result, 0); - } -#endif return 0; =20 fail: @@ -893,12 +887,6 @@ int qcow2_snapshot_goto(BlockDriverState *bs, const ch= ar *snapshot_id) goto fail; } =20 -#ifdef DEBUG_ALLOC - { - BdrvCheckResult result =3D {0}; - qcow2_check_refcounts(bs, &result, 0); - } -#endif return 0; =20 fail: @@ -975,12 +963,6 @@ int qcow2_snapshot_delete(BlockDriverState *bs, return ret; } =20 -#ifdef DEBUG_ALLOC - { - BdrvCheckResult result =3D {0}; - qcow2_check_refcounts(bs, &result, 0); - } -#endif return 0; } =20 --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534224; cv=none; d=zohomail.com; s=zohoarc; b=jD2wlgxdhb30HU4dXFbqx1fUb8httokP9xXVMLqF8PvrVaIxQM/5dksDZz3SEklheRJmtoq8+/b4AdLsPRSw0eiLwMLAFLmj8tr3FMTOVA/tvZ+cNX+7CSxxThMEqmO0blMrVYLDKbTZFvZHFyHxTb8gje5ZvU26qGHzhJHibxQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534224; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7KbttnCatQH9tfMpq5G3nrwTwf9fJs3VEPqTLa4lGS4=; b=f9aenk7JPanU/G1W+XHsAhlddccpeKYnDmmpvUf/iO9djGUAzEy/kaa/oBSONnNwsIOyBk+cWoVUxdos/m+9Fv93InPknOZFKLy+VIRKln/nxomxVKhfJmB4wbBKMOdkUCz6RKStv+X79UR9CphIRtX2hxb43XEOiCAhzylcSdo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 178453422440926.24895554484783; Mon, 20 Jul 2026 00:57:04 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1366170.1616092 (Exim 4.92) (envelope-from ) id 1wlirl-0006nj-F3; Mon, 20 Jul 2026 07:56:45 +0000 Received: by outflank-mailman (output) from mailman id 1366170.1616092; Mon, 20 Jul 2026 07:56:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirl-0006nc-9p; Mon, 20 Jul 2026 07:56:45 +0000 Received: by outflank-mailman (input) for mailman id 1366170; Mon, 20 Jul 2026 07:56:44 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirk-0006jL-0R for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 07:56:44 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wlirj-008bDr-DC for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 09:56:43 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a5dd4ad-bab6-0a2a0a5309dd-0a2a450bbf00-32 for ; Mon, 20 Jul 2026 09:56:43 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a5dd4ba-b7e8-0a2a450b0019-aa0a857cbde1-3 for ; Mon, 20 Jul 2026 09:56:43 +0200 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-564-ueMBmxX3NoiCR6Lyx6dC8g-1; Mon, 20 Jul 2026 03:56:38 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 84BF6180135D; Mon, 20 Jul 2026 07:56:36 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 7FDD818001E1; Mon, 20 Jul 2026 07:56:34 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-Id:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7KbttnCatQH9tfMpq5G3nrwTwf9fJs3VEPqTLa4lGS4=; b=iVe0tUdzL3aMI9gjIFQeCj1JGi2qDlcdoKWdATxBImbqRuYFYDalkvmvJ3cpyRNf7iCWNC CUyjLo6lpNrrL2NNQCm7qm1PtBwbwVatdsB8KPRUlkW03UuhvxQXlCjdgCH30Q4LL48VOA IWMC4KGe9/dQjlHyRhNM7n80cePTqVY= X-MC-Unique: ueMBmxX3NoiCR6Lyx6dC8g-1 X-Mimecast-MFC-AGG-ID: ueMBmxX3NoiCR6Lyx6dC8g_1784534196 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:35 +0400 Subject: [PATCH 6/8] block: add missing coroutine_fn annotations MIME-Version: 1.0 Message-Id: <20260720-co-v1-6-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=5107; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=MElhPudYde5N+AmBqX8hc/jkArXPzRKcda7rMFMqgZk=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJQZyOC7EnnGJBFtdOw9SYol+ehCZ6GIiJn Cq9QWoT7wWJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5d/3D/9H9eWiSP6C6d6WvD53puNrUJgnuw0goXTDAtzGeGO+v0k/NJRuPcV75b11nLEmePNBtdK CtfU7+pYuJ7IP26KuzaKT4k/oPrsL2oTXWQnmMXJBRh1qLGBqby2jLiWPs+WW3ZcYXqlBBljb/m BoFMAlunoJOZCh4Matysnrlgc/0TqZfYQkTzZnoAgDqQir+AjzFwxLKDOd9su+gbWibeyLCcuxv Ve4yev3jk4PHQZJj8SjObjDfJ1bGMapRkr/2kKtF8Hfe15lGegb/tmk2dvUe+sy+saqbQVUuBkf kc3tpBJSghwNTNjBRkDrab9+psFk2aj+vuzNrhQ1BJgjipZ15UxpgqyINd0xPdHI4F7yaQwXK+t btMjOnyrxv9kABv7xoOZeFJPzr5Wp4DRUcx4x0QP6b2lqzStrAdsnYckaVZy86JY/TP3Qrc0IlP e0zAWVnVONmkuQDZ8BRbOypopE/7Y83/RHkVn4ucCTHjyitVsVrwUBCUZSzhb2M5GOsBfkaUlzd x+5MYr8zFtcrX2Jlhf0zk+KDUsn43gm+RPr3Ot5vMlrqx7eDvUhN++G85/Dc9kdVTJCGMKlghaI /2fJnx4sqs+wBfbvx6mmDwbMv8lzQJg9DghaOAqEt7Iq1U2QoD4J/9tB3MB5kJBqOWCGwIrNkRw YfBQTcHKkoJvNig== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-MFC-PROC-ID: vVwH-QvV6ykjHbsyTHIxPJQ6qnkiOJ4-Y3j05xdPLvA_1784534196 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1784534203-1BCD79EA-1B41C265/0/0 X-purgate-type: clean X-purgate-size: 5109 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534226184158500 The functions call coroutine functions or are called by coroutine. Add an assert() in qcow2_do_close() code path which calls a no_coroutine_fn bdrv_graph_wrlock_drained(). Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Denis V. Lunev (parallels part) --- include/block/blockjob_int.h | 2 +- block/crypto.c | 13 +++++++------ block/io.c | 8 +++++--- block/parallels.c | 5 +++-- block/qcow2.c | 11 +++++++---- blockjob.c | 3 ++- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/include/block/blockjob_int.h b/include/block/blockjob_int.h index 4c3d2e25a20..34e172874fa 100644 --- a/include/block/blockjob_int.h +++ b/include/block/blockjob_int.h @@ -150,7 +150,7 @@ void block_job_ratelimit_processed_bytes(BlockJob *job,= uint64_t n); * Put the job to sleep (assuming that it wasn't canceled) to throttle it = to the * right speed according to its rate limiting. */ -void block_job_ratelimit_sleep(BlockJob *job); +void coroutine_fn block_job_ratelimit_sleep(BlockJob *job); =20 /** * block_job_error_action: diff --git a/block/crypto.c b/block/crypto.c index 36abb7af468..8a34d92fded 100644 --- a/block/crypto.c +++ b/block/crypto.c @@ -56,12 +56,13 @@ static int block_crypto_probe_generic(QCryptoBlockForma= t format, } =20 =20 -static int block_crypto_read_func(QCryptoBlock *block, - size_t offset, - uint8_t *buf, - size_t buflen, - void *opaque, - Error **errp) +static int coroutine_mixed_fn +block_crypto_read_func(QCryptoBlock *block, + size_t offset, + uint8_t *buf, + size_t buflen, + void *opaque, + Error **errp) { BlockDriverState *bs =3D opaque; BlockCrypto *crypto =3D bs->opaque; diff --git a/block/io.c b/block/io.c index a916b236c3c..99dd16864a3 100644 --- a/block/io.c +++ b/block/io.c @@ -346,8 +346,9 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDr= iverState *bs, assert(data.done); } =20 -static void bdrv_do_drained_begin(BlockDriverState *bs, BdrvChild *parent, - bool poll) +static void coroutine_mixed_fn +bdrv_do_drained_begin(BlockDriverState *bs, BdrvChild *parent, + bool poll) { IO_OR_GS_CODE(); =20 @@ -397,7 +398,8 @@ bdrv_drained_begin(BlockDriverState *bs) * This function does not poll, nor must any of its recursively called * functions. */ -static void bdrv_do_drained_end(BlockDriverState *bs, BdrvChild *parent) +static void coroutine_mixed_fn +bdrv_do_drained_end(BlockDriverState *bs, BdrvChild *parent) { IO_OR_GS_CODE(); =20 diff --git a/block/parallels.c b/block/parallels.c index 7a90fb5220b..46a6e8f2743 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -142,8 +142,9 @@ static uint32_t host_cluster_index(BDRVParallelsState *= s, int64_t off) return off / s->cluster_size; } =20 -static int64_t block_status(BDRVParallelsState *s, int64_t sector_num, - int nb_sectors, int *pnum) +static int64_t coroutine_fn +block_status(BDRVParallelsState *s, int64_t sector_num, + int nb_sectors, int *pnum) { int64_t start_off =3D -2, prev_end_off =3D -2; =20 diff --git a/block/qcow2.c b/block/qcow2.c index 19271b10a49..161626fa3cb 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1287,9 +1287,10 @@ fail: } =20 /* s_locked specifies whether s->lock is held or not */ -static void qcow2_update_options_commit(BlockDriverState *bs, - Qcow2ReopenState *r, - bool s_locked) +static void coroutine_fn +qcow2_update_options_commit(BlockDriverState *bs, + Qcow2ReopenState *r, + bool s_locked) { BDRVQcow2State *s =3D bs->opaque; int i; @@ -2126,7 +2127,8 @@ fail: return ret; } =20 -static void qcow2_reopen_commit(BDRVReopenState *state) +static void coroutine_fn +qcow2_reopen_commit(BDRVReopenState *state) { BDRVQcow2State *s =3D state->bs->opaque; =20 @@ -2905,6 +2907,7 @@ qcow2_do_close(BlockDriverState *bs, bool close_data_= file) g_free(s->image_backing_format); =20 if (close_data_file && has_data_file(bs)) { + assert(!qemu_in_coroutine()); GLOBAL_STATE_CODE(); bdrv_graph_rdunlock_main_loop(); bdrv_graph_wrlock_drained(); diff --git a/blockjob.c b/blockjob.c index f3b11cc7a19..f3ad6a93125 100644 --- a/blockjob.c +++ b/blockjob.c @@ -338,7 +338,8 @@ void block_job_ratelimit_processed_bytes(BlockJob *job,= uint64_t n) ratelimit_calculate_delay(&job->limit, n); } =20 -void block_job_ratelimit_sleep(BlockJob *job) +void coroutine_fn +block_job_ratelimit_sleep(BlockJob *job) { uint64_t delay_ns; =20 --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534225; cv=none; d=zohomail.com; s=zohoarc; b=AuwQMpgV8t+05ebNCRokAhOrwQRi6QwZ7U6VyGKDUpxxFmIAJNE+eYc5NY/KYKvF8A7sAk4kV+KbhcTjt6xJe9hWBUGg1VgICwQ46eZ52WSL8p77dZUnnjVswahOH1I9vt99iSNHOrI451ie9o9uNRJTgwq/AndREz7Yr3m1Bn0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534225; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xTUNd/oAznZ+5DBJcrLXPZUtAhiWELpozE94IO79kVM=; b=AAUxLpXjDYTaJcK9tYumekzJzVSqCCAUdJxOGOq6zIHMuJj7w52NgTh5ffqqpqWuDMwfQh+HJ5/E39iFq4Jzb7M6H7v/0ascyE8ksGKlOkMSRHtOiLn1QOJhUKfEGqT4LT4/GVO3UVO+gnAkSUnCxtDQwuNdX+/R2MgYruObgcU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1784534225126519.5737079045336; Mon, 20 Jul 2026 00:57:05 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1366178.1616101 (Exim 4.92) (envelope-from ) id 1wlirp-0007G4-Qt; Mon, 20 Jul 2026 07:56:49 +0000 Received: by outflank-mailman (output) from mailman id 1366178.1616101; Mon, 20 Jul 2026 07:56:49 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirp-0007Ft-NY; Mon, 20 Jul 2026 07:56:49 +0000 Received: by outflank-mailman (input) for mailman id 1366178; Mon, 20 Jul 2026 07:56:48 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirn-0007Bm-SO for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 07:56:47 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wlirn-006OPL-9I for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 09:56:47 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a5dd4a2-e002-0a2a0a5209dd-0a2a450ae50a-44 for ; Mon, 20 Jul 2026 09:56:47 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a5dd4bd-f2d2-0a2a450a0019-aa0a857cd803-3 for ; Mon, 20 Jul 2026 09:56:46 +0200 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-436-mvZGYl0uNn6hoGgqO_KziA-1; Mon, 20 Jul 2026 03:56:44 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5B0991956062; Mon, 20 Jul 2026 07:56:42 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9A224300019F; Mon, 20 Jul 2026 07:56:40 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-Id:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xTUNd/oAznZ+5DBJcrLXPZUtAhiWELpozE94IO79kVM=; b=XKk+GR8AnbUtw8PmqRJ9nSJaGK5jkug+K5W1VErYd3UR8w2iXNE4euOYa754Svgzmt8agI r61uxwVONPyUKWClJRu3e6+hS/xLH7qgX4v0c0hyBcHWcGvBMarYMvZzNMVytDBeaCdoBy AlePbv8uWA3dFuci5n0sY4ZQYoMt/mg= X-MC-Unique: mvZGYl0uNn6hoGgqO_KziA-1 X-Mimecast-MFC-AGG-ID: mvZGYl0uNn6hoGgqO_KziA_1784534202 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:36 +0400 Subject: [PATCH 7/8] hw/9pfs: annotate V9fsTransport callbacks as coroutine_fn MIME-Version: 1.0 Message-Id: <20260720-co-v1-7-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=12144; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=VQVGJfDT80KbK+AoENxEwrM6bfEWbX5AlZ6JqJMH9mA=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJ6Z/QPH7kTs/Jsir+p4sjk7mKxJ2hfNQ1M /Fy5ozeaXyJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5dFEEACKxwmBieIUQRK10iarYOhSucm6MTcqL3qywn4+lGJ+NNksfanaaamPcctgBnspAtjzBHc seNnEj8oQVxTaRaPY/pTyTNKyGEnVhVyIy6qyrEvyz1QNeNXs0ac/kb3lkBnjEnuVD89uK8LuMv zd7CEVW38RWWzwUAhalsgpqYHHsoirgJzZjEL4RVWW1ENzejaP8YO3qQjkBwMGH1z5q3bWsytIC nF3JHbSrgeCu50zrAEzgW7Go5RmySvrjGQ1ZUrb6815X3LJp5jwOXJzftQK4JMqkcR6OXqHPS+a l9RAUVe9S3pPIYjIrDBKPhnOwvl+852JcQa7a4cttv5OQijV5+V1W34s2Y9yRQC0H1NwGunB489 MXVCUbsmLtlAsrYXuPbtVELkADlfL/wkuI93Zx7ifI2rUVHkPR2oLtIEUNgSqyA3d1CTHCE4+9B zBfCbHrDJruj+KN6vEgePCqfdVdm//Z0RwpTfVIGiCCpv7pqCLzWOi5fJ8Y9/g+VvMhnpVZfEzm 3tC7BGwwMK1MBQycfVamm7lA9bpt2iEGgPLPfbpkMh/x97A1rRFEdPgDbOBuptkMUu3uc4NzG1B xqqTQRDsN02SYrXXj6jQR0QJmIpCSszEUl7OmaHT1g+Zae2RBRdBloaqbDujHbHbm3nlZ9YE5sA Z8Rwyt+9qwQKv8w== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: 0VF2pb0k2WT6-UNijesCY355SA8lswKj3l5O9552cV8_1784534202 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1784534207-5A3DCCFC-3F4119B5/0/0 X-purgate-type: clean X-purgate-size: 12146 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534226140158500 All V9fsTransport callbacks are invoked exclusively from coroutine context (the v9fs_* PDU handlers). Annotate the function pointer types in V9fsTransport and all implementations (virtio and xen backends), as well as intermediate callers in 9p.c (pdu_marshal, pdu_unmarshal, v9fs_init_qiov_from_pdu, etc.). Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Christian Schoenebeck --- hw/9pfs/9p.h | 26 +++++++++++++++----------- hw/9pfs/9p.c | 31 +++++++++++++++++++------------ hw/9pfs/virtio-9p-device.c | 24 +++++++++++++----------- hw/9pfs/xen-9p-backend.c | 34 +++++++++++++++++----------------- 4 files changed, 64 insertions(+), 51 deletions(-) diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h index 1a309664f6e..0e52ffbdf38 100644 --- a/hw/9pfs/9p.h +++ b/hw/9pfs/9p.h @@ -472,17 +472,21 @@ void pdu_submit(V9fsPDU *pdu, P9MsgHeader *hdr); void v9fs_reset(V9fsState *s); =20 struct V9fsTransport { - ssize_t (*pdu_vmarshal)(V9fsPDU *pdu, size_t offset, const char *f= mt, - va_list ap); - ssize_t (*pdu_vunmarshal)(V9fsPDU *pdu, size_t offset, const char = *fmt, - va_list ap); - void (*init_in_iov_from_pdu)(V9fsPDU *pdu, struct iovec **piov, - unsigned int *pniov, size_t size); - void (*init_out_iov_from_pdu)(V9fsPDU *pdu, struct iovec **piov, - unsigned int *pniov, size_t size); - void (*push_and_notify)(V9fsPDU *pdu); - size_t (*msize_limit)(V9fsState *s); - size_t (*response_buffer_size)(V9fsPDU *pdu); + ssize_t coroutine_fn (*pdu_vmarshal)(V9fsPDU *pdu, size_t offset, + const char *fmt, va_list ap); + ssize_t coroutine_fn (*pdu_vunmarshal)(V9fsPDU *pdu, size_t offset, + const char *fmt, va_list ap= ); + void coroutine_fn (*init_in_iov_from_pdu)(V9fsPDU *pdu, + struct iovec **piov, + unsigned int *pniov, + size_t size); + void coroutine_fn (*init_out_iov_from_pdu)(V9fsPDU *pdu, + struct iovec **piov, + unsigned int *pniov, + size_t size); + void coroutine_fn (*push_and_notify)(V9fsPDU *pdu); + size_t coroutine_fn (*msize_limit)(V9fsState *s); + size_t coroutine_fn (*response_buffer_size)(V9fsPDU *pdu); }; =20 #endif diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 3119f011173..00cfbae6dd5 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -55,7 +55,8 @@ enum { =20 P9ARRAY_DEFINE_TYPE(V9fsPath, v9fs_path_free); =20 -static ssize_t pdu_marshal(V9fsPDU *pdu, size_t offset, const char *fmt, .= ..) +static ssize_t coroutine_fn +pdu_marshal(V9fsPDU *pdu, size_t offset, const char *fmt, ...) { ssize_t ret; va_list ap; @@ -67,7 +68,8 @@ static ssize_t pdu_marshal(V9fsPDU *pdu, size_t offset, c= onst char *fmt, ...) return ret; } =20 -static ssize_t pdu_unmarshal(V9fsPDU *pdu, size_t offset, const char *fmt,= ...) +static ssize_t coroutine_fn +pdu_unmarshal(V9fsPDU *pdu, size_t offset, const char *fmt, ...) { ssize_t ret; va_list ap; @@ -1841,7 +1843,8 @@ out_nofid: pdu_complete(pdu, err); } =20 -static int v9fs_walk_marshal(V9fsPDU *pdu, uint16_t nwnames, V9fsQID *qids) +static int coroutine_fn +v9fs_walk_marshal(V9fsPDU *pdu, uint16_t nwnames, V9fsQID *qids) { int i; ssize_t err; @@ -2363,9 +2366,10 @@ out_nofid: * The resulting QEMUIOVector has heap-allocated iovecs and must be cleane= d up * with qemu_iovec_destroy(). */ -static void v9fs_init_qiov_from_pdu(QEMUIOVector *qiov, V9fsPDU *pdu, - size_t skip, size_t size, - bool is_write) +static void coroutine_fn +v9fs_init_qiov_from_pdu(QEMUIOVector *qiov, V9fsPDU *pdu, + size_t skip, size_t size, + bool is_write) { QEMUIOVector elem; struct iovec *iov; @@ -2382,8 +2386,9 @@ static void v9fs_init_qiov_from_pdu(QEMUIOVector *qio= v, V9fsPDU *pdu, qemu_iovec_concat(qiov, &elem, skip, size); } =20 -static int v9fs_xattr_read(V9fsState *s, V9fsPDU *pdu, V9fsFidState *fidp, - uint64_t off, uint32_t max_count) +static int coroutine_fn +v9fs_xattr_read(V9fsState *s, V9fsPDU *pdu, V9fsFidState *fidp, + uint64_t off, uint32_t max_count) { ssize_t err; size_t offset =3D 7; @@ -2793,9 +2798,10 @@ out_nofid: pdu_complete(pdu, retval); } =20 -static int v9fs_xattr_write(V9fsState *s, V9fsPDU *pdu, V9fsFidState *fidp, - uint64_t off, uint32_t count, - struct iovec *sg, int cnt) +static int coroutine_fn +v9fs_xattr_write(V9fsState *s, V9fsPDU *pdu, V9fsFidState *fidp, + uint64_t off, uint32_t count, + struct iovec *sg, int cnt) { int i, to_copy; ssize_t err =3D 0; @@ -3729,7 +3735,8 @@ out_nofid: pdu_complete(pdu, err); } =20 -static int v9fs_fill_statfs(V9fsState *s, V9fsPDU *pdu, struct statfs *stb= uf) +static int coroutine_fn +v9fs_fill_statfs(V9fsState *s, V9fsPDU *pdu, struct statfs *stbuf) { uint32_t f_type; uint32_t f_bsize; diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index 50dc93091d3..b2dd859fb56 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -28,7 +28,7 @@ #include "qemu/module.h" #include "system/qtest.h" =20 -static void virtio_9p_push_and_notify(V9fsPDU *pdu) +static void coroutine_fn virtio_9p_push_and_notify(V9fsPDU *pdu) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); @@ -117,8 +117,8 @@ static void virtio_9p_reset(VirtIODevice *vdev) v9fs_reset(&v->state); } =20 -static ssize_t virtio_pdu_vmarshal(V9fsPDU *pdu, size_t offset, - const char *fmt, va_list ap) +static ssize_t coroutine_fn +virtio_pdu_vmarshal(V9fsPDU *pdu, size_t offset, const char *fmt, va_list = ap) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); @@ -135,8 +135,8 @@ static ssize_t virtio_pdu_vmarshal(V9fsPDU *pdu, size_t= offset, return ret; } =20 -static ssize_t virtio_pdu_vunmarshal(V9fsPDU *pdu, size_t offset, - const char *fmt, va_list ap) +static ssize_t coroutine_fn +virtio_pdu_vunmarshal(V9fsPDU *pdu, size_t offset, const char *fmt, va_lis= t ap) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); @@ -152,8 +152,9 @@ static ssize_t virtio_pdu_vunmarshal(V9fsPDU *pdu, size= _t offset, return ret; } =20 -static void virtio_init_in_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov, - unsigned int *pniov, size_t size) +static void coroutine_fn +virtio_init_in_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov, + unsigned int *pniov, size_t size) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); @@ -172,8 +173,9 @@ static void virtio_init_in_iov_from_pdu(V9fsPDU *pdu, s= truct iovec **piov, *pniov =3D elem->in_num; } =20 -static void virtio_init_out_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov, - unsigned int *pniov, size_t size) +static void coroutine_fn +virtio_init_out_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov, + unsigned int *pniov, size_t size) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); @@ -192,13 +194,13 @@ static void virtio_init_out_iov_from_pdu(V9fsPDU *pdu= , struct iovec **piov, *pniov =3D elem->out_num; } =20 -static size_t virtio_9p_msize_limit(V9fsState *s) +static size_t coroutine_fn virtio_9p_msize_limit(V9fsState *s) { const size_t guestPageSize =3D 4096; return (VIRTQUEUE_MAX_SIZE - 2) * guestPageSize; } =20 -static size_t virtio_9p_response_buffer_size(V9fsPDU *pdu) +static size_t coroutine_fn virtio_9p_response_buffer_size(V9fsPDU *pdu) { V9fsState *s =3D pdu->s; V9fsVirtioState *v =3D container_of(s, V9fsVirtioState, state); diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c index 24c90d97ec9..7f674f84642 100644 --- a/hw/9pfs/xen-9p-backend.c +++ b/hw/9pfs/xen-9p-backend.c @@ -131,10 +131,10 @@ static void xen_9pfs_out_sg(Xen9pfsRing *ring, } } =20 -static ssize_t xen_9pfs_pdu_vmarshal(V9fsPDU *pdu, - size_t offset, - const char *fmt, - va_list ap) +static ssize_t coroutine_fn xen_9pfs_pdu_vmarshal(V9fsPDU *pdu, + size_t offset, + const char *fmt, + va_list ap) { Xen9pfsDev *xen_9pfs =3D container_of(pdu->s, Xen9pfsDev, state); struct iovec in_sg[2]; @@ -155,10 +155,10 @@ static ssize_t xen_9pfs_pdu_vmarshal(V9fsPDU *pdu, return ret; } =20 -static ssize_t xen_9pfs_pdu_vunmarshal(V9fsPDU *pdu, - size_t offset, - const char *fmt, - va_list ap) +static ssize_t coroutine_fn xen_9pfs_pdu_vunmarshal(V9fsPDU *pdu, + size_t offset, + const char *fmt, + va_list ap) { Xen9pfsDev *xen_9pfs =3D container_of(pdu->s, Xen9pfsDev, state); struct iovec out_sg[2]; @@ -178,10 +178,10 @@ static ssize_t xen_9pfs_pdu_vunmarshal(V9fsPDU *pdu, return ret; } =20 -static void xen_9pfs_init_out_iov_from_pdu(V9fsPDU *pdu, - struct iovec **piov, - unsigned int *pniov, - size_t size) +static void coroutine_fn xen_9pfs_init_out_iov_from_pdu(V9fsPDU *pdu, + struct iovec **pio= v, + unsigned int *pnio= v, + size_t size) { Xen9pfsDev *xen_9pfs =3D container_of(pdu->s, Xen9pfsDev, state); Xen9pfsRing *ring =3D &xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings]; @@ -195,10 +195,10 @@ static void xen_9pfs_init_out_iov_from_pdu(V9fsPDU *p= du, *pniov =3D num; } =20 -static void xen_9pfs_init_in_iov_from_pdu(V9fsPDU *pdu, - struct iovec **piov, - unsigned int *pniov, - size_t size) +static void coroutine_fn xen_9pfs_init_in_iov_from_pdu(V9fsPDU *pdu, + struct iovec **piov, + unsigned int *pniov, + size_t size) { Xen9pfsDev *xen_9pfs =3D container_of(pdu->s, Xen9pfsDev, state); Xen9pfsRing *ring =3D &xen_9pfs->rings[pdu->tag % xen_9pfs->num_rings]; @@ -227,7 +227,7 @@ again: *pniov =3D num; } =20 -static void xen_9pfs_push_and_notify(V9fsPDU *pdu) +static void coroutine_fn xen_9pfs_push_and_notify(V9fsPDU *pdu) { RING_IDX prod; Xen9pfsDev *priv =3D container_of(pdu->s, Xen9pfsDev, state); --=20 2.55.0 From nobody Thu Jul 23 21:12:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1784534236; cv=none; d=zohomail.com; s=zohoarc; b=ksSR4sCkwmPbEUt0HyxWk1/HMAFVTynfCwoa4Hv0JpIp9IcWSanMWNHrPkudq70M6JOpiGczQOlh29QpksYZeU6cshKT9CRQDvXnpaBpNwwF3C03YF63bifZ3TZFCvULYrpu99O+L5kNa50Alug4Acj5K36A+32xb4EwCpoY+rI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784534236; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QtMvLnVwqMzsmDla/+s5l4nRkQgIhL5LT1ivzwU06OA=; b=CrGFZZtnsbsCTNCm8ky7sbRliFQQTsJ9bXgSg5OfusffZwMnIbyFB+9J/uRRwGvSum3ehE7PF3jeKc4nUCJzpqh31JZO7gkN5vDlGd3dhdcCJnfYkI6HegnwlWraUsAr5I7tpyLrSWxEtFTSxqxVme4vIQoUVGy5Fqc89S3hyjU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1784534236975194.35418537497094; Mon, 20 Jul 2026 00:57:16 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1366188.1616110 (Exim 4.92) (envelope-from ) id 1wliry-0007nq-2A; Mon, 20 Jul 2026 07:56:58 +0000 Received: by outflank-mailman (output) from mailman id 1366188.1616110; Mon, 20 Jul 2026 07:56:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirx-0007ng-VY; Mon, 20 Jul 2026 07:56:57 +0000 Received: by outflank-mailman (input) for mailman id 1366188; Mon, 20 Jul 2026 07:56:56 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wlirw-0007i0-6M for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 07:56:56 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wlirv-006OPL-Iv for xen-devel@lists.xenproject.org; Mon, 20 Jul 2026 09:56:55 +0200 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a5dd4c1-e002-0a2a0a5209dd-0a2a45098e2e-32 for ; Mon, 20 Jul 2026 09:56:55 +0200 Received: from [170.10.133.124] (helo=us-smtp-delivery-124.mimecast.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6a5dd4c6-be1a-0a2a45090019-aa0a857ce7cb-3 for ; Mon, 20 Jul 2026 09:56:55 +0200 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-654-a-9sm84FOP-1Id4qXsae5A-1; Mon, 20 Jul 2026 03:56:49 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9D017195C27E; Mon, 20 Jul 2026 07:56:47 +0000 (UTC) Received: from localhost (unknown [10.44.22.17]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 906B5300019F; Mon, 20 Jul 2026 07:56:45 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-Id:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To:References" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784534214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QtMvLnVwqMzsmDla/+s5l4nRkQgIhL5LT1ivzwU06OA=; b=GQGuyA/m6r/R3GF4YOhItEl/FV46Ht7TnauDUY79IB2mIXKL8O7bBmdCoibt6/mj3NnI7U RJMXFsrFhwKGk36D3myqXlWoSy7Xl9PFRzjsoNKik6QsI8qOy2/oAGKddP0TSXWUtgH/yg 7YCOyC+kLXQygw/zDsIrtu4hTiFRCR8= X-MC-Unique: a-9sm84FOP-1Id4qXsae5A-1 X-Mimecast-MFC-AGG-ID: a-9sm84FOP-1Id4qXsae5A_1784534207 From: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= Date: Mon, 20 Jul 2026 11:55:37 +0400 Subject: [PATCH 8/8] migration/rdma: annotate and simplify wait_comp_channel() MIME-Version: 1.0 Message-Id: <20260720-co-v1-8-fabb4db3c204@redhat.com> References: <20260720-co-v1-0-fabb4db3c204@redhat.com> In-Reply-To: <20260720-co-v1-0-fabb4db3c204@redhat.com> To: qemu-devel@nongnu.org Cc: Markus Armbruster , Peter Xu , Fabiano Rosas , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , John Snow , Vladimir Sementsov-Ogievskiy , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org, Stefan Hajnoczi , Fam Zheng , "Denis V. Lunev" , Christian Schoenebeck , Greg Kurz , "Michael S. Tsirkin" , Stefano Stabellini , Anthony PERARD , "Edgar E. Iglesias" , xen-devel@lists.xenproject.org, Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Developer-Signature: v=1; a=openpgp-sha256; l=1578; i=marcandre.lureau@redhat.com; h=from:subject:message-id; bh=oJIZjL5v3qPuEfmBmoADXHdeUtnH1fO9aSt78aaOTQA=; b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBqXdSJmwU3fDMJVOh8NuPQiJP+1ImSwWEZ2LEnz qyx/VYPaPuJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCal3UiQAKCRDa6OEJdZac 5QRXD/9BDWYERq9hLRl+MFCCSV5uIL8qHuaXkYPzavZXz7FtCWheLKyyvu7gNq789M2FyuM6L/U SmN25PuDKXTlF0LLOKYvy6NCVOmVtdB7O4X9Hr/527c79DSfow3UbQOHHLIPnWy9R7s6YKriGsc EhBrRia46wFO7TjPaDdYpX/fKWOpgm2Fushi3gMbtZcac+5WWg0SkECprjBV0b+OXThYzlzpe9o N/kxmJMzJOj5BSePFncuxHyN6VlkssZrgd4MhWf0PthYCSnetE1WDSMPBCv2644cXFk1EUdkBPM pouk07hjPvPgyI8GRY8cKNn/j3crriZPAMd9obZ3+nI34KECpH9aINhlRs7jMl1mQkq0NU3eDug 9omDTtOEUTZYs9U4LGSptWwmVklM12krTzNUeuabXyG6EA9tcBuIo2d+GhtOvgrXRO2IfGkz1Mj c7+oQjf8y0ZuQYAkw0rTQQ9CXjh+qaNGv6hTHg5hHhmbEwTGSZraj1RzRNvu4s1A5qtSAQkRmGW frqDSIk1ncj1UZ1Cz7aWKNP11TsjvC7DqePEvURkQvZCzTLg5IZiD5Aq+XfQiJqcF7jIv7oeo6y z4BpSH8CNBkAYoPujDpgvdtJ4Sk3Dx4rPgNrKoXeg9mOq7ONID/yFe4vKn7XQFs3ZxaJeZ7hZ1f WBJ+qu9IhQiLhRA== X-Developer-Key: i=marcandre.lureau@redhat.com; a=openpgp; fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-MFC-PROC-ID: riYuG6eBLdHJ-1YoEq7v_NdOQR7HQYhixnx53Uqv3tA_1784534207 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1784534215-BC8C9034-6191174D/0/0 X-purgate-type: clean X-purgate-size: 1580 X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1784534238222158500 The function calls yield_until_fd_readable() (coroutine_fn) when in coroutine context, and polls with qemu_poll_ns() otherwise. Replace the migration-state proxy check with qemu_in_coroutine(), which directly tests what matters. Fixes: 2da776db4846 ("rdma: core logic") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Peter Xu --- migration/rdma.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/migration/rdma.c b/migration/rdma.c index 3e37a1d4401..438419d1894 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -1348,17 +1348,13 @@ static int qemu_rdma_poll(RDMAContext *rdma, struct= ibv_cq *cq, /* Wait for activity on the completion channel. * Returns 0 on success, none-0 on error. */ -static int qemu_rdma_wait_comp_channel(RDMAContext *rdma, - struct ibv_comp_channel *comp_chann= el) +static int coroutine_mixed_fn +qemu_rdma_wait_comp_channel(RDMAContext *rdma, + struct ibv_comp_channel *comp_channel) { struct rdma_cm_event *cm_event; =20 - /* - * Coroutine doesn't start until migration_fd_process_incoming() - * so don't yield unless we know we're running inside of a coroutine. - */ - if (rdma->migration_started_on_destination && - migration_incoming_get_current()->state =3D=3D MIGRATION_STATUS_AC= TIVE) { + if (qemu_in_coroutine()) { yield_until_fd_readable(comp_channel->fd); } else { /* This is the source side, we're in a separate thread --=20 2.55.0