From nobody Sun Feb 8 11:40:54 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1644508725; cv=none; d=zohomail.com; s=zohoarc; b=B8d4k3305rAdjoDAaZZaL2cfIlqxaqJf3bYZOMIsG7ZoL7nYr0m8xfQu9LqkrDPCD+uMemNcH354gSLbmcXAYct4P78m2+LMW8n8BtT++psVuD69lV97He5GKFDlmstzaQAiSF20q8VboPlbNNCdMX9zJKbSutmndHbW/pRZ8jQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1644508725; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NNa/45Z+Olf4Mf1Jk7i92sGPJlmqzlIBxqP41EkApXA=; b=XhCx5iT4RxlX0OHMlaGWGc5mhWqLrAv7qozL9fKEHP39E1HEphZkZroM7mROeM8pYyCPO2NRHSimhYBjhWEV5/6aqOGgG77r0u9EMEHs2mv45dQuGgsGDvqPsfB54Au/6N+RedU4rKePBt0ybed9WlOQtb3+2bp0ZLW60zAqv7M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1644508725482249.00076598872727; Thu, 10 Feb 2022 07:58:45 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-644--nc_rRzlNIOo41lT454DEw-1; Thu, 10 Feb 2022 10:58:41 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EE47F100C628; Thu, 10 Feb 2022 15:58:34 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CFF22106222E; Thu, 10 Feb 2022 15:58:34 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A21D94A7CD; Thu, 10 Feb 2022 15:58:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 21AFpf6T011396 for ; Thu, 10 Feb 2022 10:51:41 -0500 Received: by smtp.corp.redhat.com (Postfix) id 570D175133; Thu, 10 Feb 2022 15:51:41 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id D505175745 for ; Thu, 10 Feb 2022 15:51:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1644508725; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=NNa/45Z+Olf4Mf1Jk7i92sGPJlmqzlIBxqP41EkApXA=; b=Bb/acYgLD+hcHpb8bgl8PJKGLllXS7/GJw2fCLXlhizItxA2/aJ/49LQlXH1VzY7usvsbO wEtC24ohkmksj3M1Jk5m1vt/NpbTku+S2e2aYnbAPgh9aKED/RIA47coMuPPOXd3h1L8UC D+8FULEG9e9vs5tK/JNFE/PZfg7NRPI= X-MC-Unique: -nc_rRzlNIOo41lT454DEw-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 6/6] ch_process: Check whether domain is already running before starting it Date: Thu, 10 Feb 2022 16:51:34 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1644508727470100001 Content-Type: text/plain; charset="utf-8" There are two places where a domain can be started in CH driver: chDomainCreateXML() and chDomainCreateWithFlags(). Both acquire a job (good), but neither of them checks whether the domain isn't already running. This is wrong. Fortunately, both function call the very same virCHProcessStart() rendering it the best place for such check. Signed-off-by: Michal Privoznik --- src/ch/ch_process.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ch/ch_process.c b/src/ch/ch_process.c index 6d9a286e8a..00d94ddcbe 100644 --- a/src/ch/ch_process.c +++ b/src/ch/ch_process.c @@ -470,6 +470,12 @@ virCHProcessStart(virCHDriver *driver, g_autofree int *nicindexes =3D NULL; size_t nnicindexes =3D 0; =20 + if (virDomainObjIsActive(vm)) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("VM is already active")); + return -1; + } + if (!priv->monitor) { /* And we can get the first monitor connection now too */ if (!(priv->monitor =3D virCHProcessConnectMonitor(driver, vm))) { --=20 2.34.1