From nobody Tue Feb 10 19:14:31 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=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1697211260; cv=none; d=zohomail.com; s=zohoarc; b=KFyyjXOq/ZmfnKBT1FYgi7B0XygTz0NQrDhVbp0wmSlx9kJzz3DPyyNH0WzyVqd6hEvmQ26LzSq2pjs2ddNAqdlBQGaNUkAx0ae15pMAYdYByfQY+9MgYu8S+MYiQVVHz3bTdAahdMECqi73mQk/Eqzv62r1TlSigVrDSJQC8LI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1697211260; h=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=hCmNKez0yYb1LhIxZ2s+VjVmi/zgawbjHoIkNmiDpto=; b=n8tc2CeHT/v2mpF2d41+vZ0wSP/gveQE31dFCBfm8bBoxMyxs/jIXLw5+jSD7JJfYBLEsMinVYXX14NeCVwkF2GgrLOWul84hWoJ612eSg5rs9WXdEhn3yWleTtrRAzkrBlay5WAKsK483Fesiv8RG12VrNopb+o3otO3f/J+Zk= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1697211260958930.0423793021546; Fri, 13 Oct 2023 08:34:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qrKAN-0003OH-Ar; Fri, 13 Oct 2023 11:33:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qrKAL-0003Mp-Hy for qemu-devel@nongnu.org; Fri, 13 Oct 2023 11:33:29 -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 1qrKAJ-00037J-95 for qemu-devel@nongnu.org; Fri, 13 Oct 2023 11:33:29 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-232-FYj9VK1UPjuOe9Z7WL9N9g-1; Fri, 13 Oct 2023 11:33:23 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 15BAC81D785; Fri, 13 Oct 2023 15:33:23 +0000 (UTC) Received: from merkur.fritz.box (unknown [10.39.193.253]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3C9E8C1596D; Fri, 13 Oct 2023 15:33:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697211205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hCmNKez0yYb1LhIxZ2s+VjVmi/zgawbjHoIkNmiDpto=; b=bFLhspPNwQ+qRNy3UPMm/ksyjEsfF+6fApPnYLMgXSvs/tFNvWljkAOxvb1RWwRlqIJa94 QDCaj8JbQ/swFUF44sodbRO85UT2SYFZNLfKd5OBd8HyWz2oPTXC518RoYs6LF84II87A2 aKGRj9p5mtAJCVXI6DQxfHKta/ma2K4= X-MC-Unique: FYj9VK1UPjuOe9Z7WL9N9g-1 From: Kevin Wolf To: qemu-block@nongnu.org Cc: kwolf@redhat.com, stefanha@redhat.com, hreitz@redhat.com, qemu-devel@nongnu.org Subject: [PATCH 1/2] block: Fix locking in media change monitor commands Date: Fri, 13 Oct 2023 17:33:01 +0200 Message-ID: <20231013153302.39234-2-kwolf@redhat.com> In-Reply-To: <20231013153302.39234-1-kwolf@redhat.com> References: <20231013153302.39234-1-kwolf@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 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=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kwolf@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1697211262390100003 Content-Type: text/plain; charset="utf-8" blk_insert_bs() requires that the caller holds the AioContext lock for the node to be inserted. Since commit c066e808e11, neglecting to do so causes a crash when the child has to be moved to a different AioContext to attach it to the BlockBackend. This fixes qmp_blockdev_insert_anon_medium(), which is called for the QMP commands 'blockdev-insert-medium' and 'blockdev-change-medium', to correctly take the lock. Cc: qemu-stable@nongnu.org Fixes: https://issues.redhat.com/browse/RHEL-3922 Fixes: c066e808e11a5c181b625537b6c78e0de27a4801 Signed-off-by: Kevin Wolf Reviewed-by: Hanna Czenczek --- block/qapi-sysemu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/block/qapi-sysemu.c b/block/qapi-sysemu.c index 3f614cbc04..1618cd225a 100644 --- a/block/qapi-sysemu.c +++ b/block/qapi-sysemu.c @@ -237,6 +237,7 @@ static void qmp_blockdev_insert_anon_medium(BlockBacken= d *blk, BlockDriverState *bs, Error **= errp) { Error *local_err =3D NULL; + AioContext *ctx; bool has_device; int ret; =20 @@ -258,7 +259,11 @@ static void qmp_blockdev_insert_anon_medium(BlockBacke= nd *blk, return; } =20 + ctx =3D bdrv_get_aio_context(bs); + aio_context_acquire(ctx); ret =3D blk_insert_bs(blk, bs, errp); + aio_context_release(ctx); + if (ret < 0) { return; } --=20 2.41.0 From nobody Tue Feb 10 19:14:31 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=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1697211253; cv=none; d=zohomail.com; s=zohoarc; b=coACEQK/VYN5kpZ27UAsoR+MiLUm3Rti20czwJbPXB1konQgS2Jxr+lDcY/ZGTCG5y8Ee586GXlw7kU23VOsCiKP7k4sNrmpl+8vflqLkx8YFQsZkyAvrSNAIodIm8ckpK/5PjCXjkoUGihrtwPfRbUtcEllA4bkGNQnmScmn5c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1697211253; h=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=twFSIx+ypsOGhYB3/C5hyPH8eKhiVRYm7iEtgCIFdsA=; b=Vp8QS64t3/sVxVDaONTCKU6VbCbMZHyT7b1yhBHPgnnsMQE9aaMsGQ8zQ3195UV0t6Fy4tWdxta5HxsQkPE49FAJKC0bLoJ/WSqG2HVO1baEmAw0NTFcvcTjjqOrVyNWJx91dpUooOrW58qhrTsPaBAdOQFk5/RLIk7tXNlu7MI= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1697211253249934.2432441574985; Fri, 13 Oct 2023 08:34:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qrKAO-0003Of-Bd; Fri, 13 Oct 2023 11:33:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qrKAM-0003Ng-S4 for qemu-devel@nongnu.org; Fri, 13 Oct 2023 11:33:30 -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 1qrKAK-00037P-1s for qemu-devel@nongnu.org; Fri, 13 Oct 2023 11:33:30 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-402-3spgbJeNPwGIkk675nZTZA-1; Fri, 13 Oct 2023 11:33:24 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 252C23826D3F; Fri, 13 Oct 2023 15:33:24 +0000 (UTC) Received: from merkur.fritz.box (unknown [10.39.193.253]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4C3A0C15BBC; Fri, 13 Oct 2023 15:33:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697211206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=twFSIx+ypsOGhYB3/C5hyPH8eKhiVRYm7iEtgCIFdsA=; b=MrMcL6eYPp/Gyyb4qXbLJ8eIvjyevrv6D/HfMm4r+UJEjsgINcGNIIxJvnE+HJUps/foc+ C+xhRp+otlQyHqJZC2D1X2ZSwLRnDct+Ijk8EJujvjGjhh1PfAed5AGtsTs+GmwZYQHlAL aD2KbhN09UK60dcb+XcdGS8IrywTRHY= X-MC-Unique: 3spgbJeNPwGIkk675nZTZA-1 From: Kevin Wolf To: qemu-block@nongnu.org Cc: kwolf@redhat.com, stefanha@redhat.com, hreitz@redhat.com, qemu-devel@nongnu.org Subject: [PATCH 2/2] iotests: Test media change with iothreads Date: Fri, 13 Oct 2023 17:33:02 +0200 Message-ID: <20231013153302.39234-3-kwolf@redhat.com> In-Reply-To: <20231013153302.39234-1-kwolf@redhat.com> References: <20231013153302.39234-1-kwolf@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 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=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kwolf@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1697211254446100007 Content-Type: text/plain; charset="utf-8" iotests case 118 already tests all relevant operations for media change with multiple devices, however never with iothreads. This changes the test so that the virtio-scsi tests run with an iothread. Signed-off-by: Kevin Wolf Reviewed-by: Hanna Czenczek --- tests/qemu-iotests/118 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118 index cae52ffa5e..bc7533bb54 100755 --- a/tests/qemu-iotests/118 +++ b/tests/qemu-iotests/118 @@ -295,7 +295,8 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass): 'file.driver=3Dfile', 'file.filename=3D%s' % old_img ]) if self.interface =3D=3D 'scsi': - self.vm.add_device('virtio-scsi-pci') + self.vm.add_object('iothread,id=3Diothread0') + self.vm.add_device('virtio-scsi-pci,iothread=3Diothread0') self.vm.add_device('%s,drive=3Ddrive0,id=3D%s' % (interface_to_device_name(self.interface), self.device_name)) @@ -332,7 +333,8 @@ class TestInitiallyEmpty(GeneralChangeTestsBaseClass): if self.use_drive: self.vm.add_drive(None, 'media=3D%s' % self.media, 'none') if self.interface =3D=3D 'scsi': - self.vm.add_device('virtio-scsi-pci') + self.vm.add_object('iothread,id=3Diothread0') + self.vm.add_device('virtio-scsi-pci,iothread=3Diothread0') self.vm.add_device('%s,%sid=3D%s' % (interface_to_device_name(self.interface), 'drive=3Ddrive0,' if self.use_drive else '', --=20 2.41.0