From nobody Sat Feb 7 05:49:44 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1672125706; cv=none; d=zohomail.com; s=zohoarc; b=UqKKm1uLgX61wzo/l+amqz56QBOiwATtOS2G5qasA0BXxfsVqxnc7rUxxiHphaNYVnGloA1et4MrlAbdN6kA20a7ieyV02XFQoedt/B9nWY/k85OE1DTvmnnKDYaYvxIL18GPYMu/3Iikc1y1KMD22plmjdV0ES0Xgk8V6rUZLo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672125706; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=j5EdM2bC/MDy3M2vTEq70fKjxcVyvubPOdY2UPpwB9M=; b=RIaLXnzplhXwoBgNZXsg8PN6JeiE0bucI2mvC6FkW2WM46H6b8j492wKTyPpRDWnJVHBkiqwdzTuZK8Cp6qwb6SuRy7sZmJzLsP9gOi1ZMS2ubWiOWZefvxV6bBXA9j98HrU5X1P3LKK6TS+qzAMEus0vPVKqE1U+Yd7eQGHgbc= ARC-Authentication-Results: i=1; mx.zohomail.com; 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 1672125706561958.4678048810588; Mon, 26 Dec 2022 23:21:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pA4Ge-0004mc-7D; Tue, 27 Dec 2022 02:20:56 -0500 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 1pA4GN-0004hu-Om for qemu-devel@nongnu.org; Tue, 27 Dec 2022 02:20:41 -0500 Received: from szxga03-in.huawei.com ([45.249.212.189]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pA4GJ-000792-Tr for qemu-devel@nongnu.org; Tue, 27 Dec 2022 02:20:39 -0500 Received: from kwepemi100025.china.huawei.com (unknown [172.30.72.54]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4Nh5YS5TSjzJpW6; Tue, 27 Dec 2022 15:16:28 +0800 (CST) Received: from DESKTOP-27KDQMV.china.huawei.com (10.174.148.223) by kwepemi100025.china.huawei.com (7.221.188.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 27 Dec 2022 15:20:19 +0800 To: , , , CC: , , , , , , , Longpeng Subject: [PATCH v3 1/3] vhost: simplify vhost_dev_enable_notifiers Date: Tue, 27 Dec 2022 15:20:13 +0800 Message-ID: <20221227072015.3134-2-longpeng2@huawei.com> X-Mailer: git-send-email 2.25.0.windows.1 In-Reply-To: <20221227072015.3134-1-longpeng2@huawei.com> References: <20221227072015.3134-1-longpeng2@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.174.148.223] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi100025.china.huawei.com (7.221.188.158) X-CFilter-Loop: Reflected 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=45.249.212.189; envelope-from=longpeng2@huawei.com; helo=szxga03-in.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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: , Reply-to: "Longpeng(Mike)" From: "Longpeng(Mike)" via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1672125707751000005 Content-Type: text/plain; charset="utf-8" From: Longpeng Simplify the error path in vhost_dev_enable_notifiers by using vhost_dev_disable_notifiers directly. Signed-off-by: Longpeng --- hw/virtio/vhost.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index fdcd1a8fdf..5994559da8 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1551,7 +1551,7 @@ void vhost_dev_cleanup(struct vhost_dev *hdev) int vhost_dev_enable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev) { BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); - int i, r, e; + int i, r; =20 /* We will pass the notifiers to the kernel, make sure that QEMU * doesn't interfere. @@ -1559,7 +1559,7 @@ int vhost_dev_enable_notifiers(struct vhost_dev *hdev= , VirtIODevice *vdev) r =3D virtio_device_grab_ioeventfd(vdev); if (r < 0) { error_report("binding does not support host notifiers"); - goto fail; + return r; } =20 for (i =3D 0; i < hdev->nvqs; ++i) { @@ -1567,24 +1567,12 @@ int vhost_dev_enable_notifiers(struct vhost_dev *hd= ev, VirtIODevice *vdev) true); if (r < 0) { error_report("vhost VQ %d notifier binding failed: %d", i, -r); - goto fail_vq; + vhost_dev_disable_notifiers(hdev, vdev); + return r; } } =20 return 0; -fail_vq: - while (--i >=3D 0) { - e =3D virtio_bus_set_host_notifier(VIRTIO_BUS(qbus), hdev->vq_inde= x + i, - false); - if (e < 0) { - error_report("vhost VQ %d notifier cleanup error: %d", i, -r); - } - assert (e >=3D 0); - virtio_bus_cleanup_host_notifier(VIRTIO_BUS(qbus), hdev->vq_index = + i); - } - virtio_device_release_ioeventfd(vdev); -fail: - return r; } =20 /* Stop processing guest IO notifications in vhost. --=20 2.23.0