From nobody Mon Feb 9 19:53:31 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.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.129.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=1648135988; cv=none; d=zohomail.com; s=zohoarc; b=MZZPThQlPr9DnicFzxdkLhSCBlY4kdpgAO6x8vkQ86KnrnCpHWy3bXFuC/thMRYU2iWB23ur/calR3nzy6CXSfKKWy4VUC6WlAVzxXM/v8LrZ+RhONqYt5aQ8FOH7RZxaN8DEapcOYBh59ae4ZYFjJFIRhT8jOGHxvVbO12IcyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1648135988; 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=/WdiryfTjuam/iPIYh0nWs+olz8s/fVDRCtg3ze1SH4=; b=azng2m1Vw41UQc+J5WWTAyJPVnHlFJJmEWP3GxlRMBxYPvN8FL63+PdQ8d+fipYePVEjF2LlJ6hbMRS8L0UvBYEEPjLXlXjx4651CfzeCaLh0kFip0GsE9Gegx/e/EvhycKd8+74YWyX5emqFmU40p2MDqZR3mukSS/6Nm9EJ6E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.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.129.124]) by mx.zohomail.com with SMTPS id 1648135988454119.58235616829211; Thu, 24 Mar 2022 08:33:08 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.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-85-mlSSwE4PNpWWW-5zg6bQGg-1; Thu, 24 Mar 2022 11:33:05 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 49BE13800516; Thu, 24 Mar 2022 15:33:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2D42340D296B; Thu, 24 Mar 2022 15:33:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B9ADC1940352; Thu, 24 Mar 2022 15:33:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 5243C1940352 for ; Thu, 24 Mar 2022 15:32:59 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 3FF48C15D7C; Thu, 24 Mar 2022 15:32:59 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.78]) by smtp.corp.redhat.com (Postfix) with ESMTP id DB4E7C15D7B for ; Thu, 24 Mar 2022 15:32:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648135987; 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=/WdiryfTjuam/iPIYh0nWs+olz8s/fVDRCtg3ze1SH4=; b=WH+JPMV80+4y+XQuvDUssVfG7ffWS6sEkUkm2T4K8xG83VVMt8tWOsNiygAwhChxfkrLbI B1FPswfYNoHrhO2QK7GuU4+R/SB86eHzEwM0Aq/ZGsdaceT7Q1VXfDnZN+RpxiR6j+v/UB fq15bEj5elIYCiWqecS+SdjXB3GFVRE= X-MC-Unique: mlSSwE4PNpWWW-5zg6bQGg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 3/5] lxc: use virDomainJob enum instead of virLXCDomainJob Date: Thu, 24 Mar 2022 16:32:44 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 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: 1648135990341100003 Content-Type: text/plain; charset="utf-8"; x-default="true" Signed-off-by: Kristina Hanicova --- src/hypervisor/domain_job.h | 4 ++-- src/lxc/lxc_domain.c | 25 ++++++++------------ src/lxc/lxc_domain.h | 19 +++------------ src/lxc/lxc_driver.c | 46 ++++++++++++++++++------------------- 4 files changed, 37 insertions(+), 57 deletions(-) diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h index 4f165f730d..db8b8b1390 100644 --- a/src/hypervisor/domain_job.h +++ b/src/hypervisor/domain_job.h @@ -21,8 +21,8 @@ =20 =20 /* Only 1 job is allowed at any time - * A job includes *all* monitor commands, even those just querying - * information, not merely actions */ + * A job includes *all* monitor commands / hypervisor.so api, + * even those just querying information, not merely actions */ typedef enum { VIR_JOB_NONE =3D 0, /* Always set to 0 for easy if (jobActive) condit= ions */ VIR_JOB_QUERY, /* Doesn't change any state */ diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c index 85795d1805..fae56b35fb 100644 --- a/src/lxc/lxc_domain.c +++ b/src/lxc/lxc_domain.c @@ -31,17 +31,10 @@ #include "virsystemd.h" #include "virinitctl.h" #include "domain_driver.h" +#include "domain_job.h" =20 #define VIR_FROM_THIS VIR_FROM_LXC =20 -VIR_ENUM_IMPL(virLXCDomainJob, - LXC_JOB_LAST, - "none", - "query", - "destroy", - "modify", -); - VIR_LOG_INIT("lxc.lxc_domain"); =20 static int @@ -60,7 +53,7 @@ virLXCDomainObjResetJob(virLXCDomainObjPrivate *priv) { struct virLXCDomainJobObj *job =3D &priv->job; =20 - job->active =3D LXC_JOB_NONE; + job->active =3D VIR_JOB_NONE; job->owner =3D 0; } =20 @@ -85,7 +78,7 @@ virLXCDomainObjFreeJob(virLXCDomainObjPrivate *priv) int virLXCDomainObjBeginJob(virLXCDriver *driver G_GNUC_UNUSED, virDomainObj *obj, - enum virLXCDomainJob job) + virDomainJob job) { virLXCDomainObjPrivate *priv =3D obj->privateData; unsigned long long now; @@ -97,14 +90,14 @@ virLXCDomainObjBeginJob(virLXCDriver *driver G_GNUC_UNU= SED, =20 while (priv->job.active) { VIR_DEBUG("Wait normal job condition for starting job: %s", - virLXCDomainJobTypeToString(job)); + virDomainJobTypeToString(job)); if (virCondWaitUntil(&priv->job.cond, &obj->parent.lock, then) < 0) goto error; } =20 virLXCDomainObjResetJob(priv); =20 - VIR_DEBUG("Starting job: %s", virLXCDomainJobTypeToString(job)); + VIR_DEBUG("Starting job: %s", virDomainJobTypeToString(job)); priv->job.active =3D job; priv->job.owner =3D virThreadSelfID(); =20 @@ -113,9 +106,9 @@ virLXCDomainObjBeginJob(virLXCDriver *driver G_GNUC_UNU= SED, error: VIR_WARN("Cannot start job (%s) for domain %s;" " current job is (%s) owned by (%d)", - virLXCDomainJobTypeToString(job), + virDomainJobTypeToString(job), obj->def->name, - virLXCDomainJobTypeToString(priv->job.active), + virDomainJobTypeToString(priv->job.active), priv->job.owner); =20 if (errno =3D=3D ETIMEDOUT) @@ -139,10 +132,10 @@ virLXCDomainObjEndJob(virLXCDriver *driver G_GNUC_UNU= SED, virDomainObj *obj) { virLXCDomainObjPrivate *priv =3D obj->privateData; - enum virLXCDomainJob job =3D priv->job.active; + virDomainJob job =3D priv->job.active; =20 VIR_DEBUG("Stopping job: %s", - virLXCDomainJobTypeToString(job)); + virDomainJobTypeToString(job)); =20 virLXCDomainObjResetJob(priv); virCondSignal(&priv->job.cond); diff --git a/src/lxc/lxc_domain.h b/src/lxc/lxc_domain.h index 766837bdf1..1c4cb8c14a 100644 --- a/src/lxc/lxc_domain.h +++ b/src/lxc/lxc_domain.h @@ -25,6 +25,7 @@ #include "lxc_conf.h" #include "lxc_monitor.h" #include "virenum.h" +#include "domain_job.h" =20 =20 typedef enum { @@ -53,23 +54,9 @@ struct _lxcDomainDef { }; =20 =20 -/* Only 1 job is allowed at any time - * A job includes *all* lxc.so api, even those just querying - * information, not merely actions */ - -enum virLXCDomainJob { - LXC_JOB_NONE =3D 0, /* Always set to 0 for easy if (jobActive) co= nditions */ - LXC_JOB_QUERY, /* Doesn't change any state */ - LXC_JOB_DESTROY, /* Destroys the domain (cannot be masked out) */ - LXC_JOB_MODIFY, /* May change state */ - LXC_JOB_LAST -}; -VIR_ENUM_DECL(virLXCDomainJob); - - struct virLXCDomainJobObj { virCond cond; /* Use to coordinate jobs */ - enum virLXCDomainJob active; /* Currently running job */ + virDomainJob active; /* Currently running job */ int owner; /* Thread which set current job */ }; =20 @@ -96,7 +83,7 @@ extern virDomainDefParserConfig virLXCDriverDomainDefPars= erConfig; int virLXCDomainObjBeginJob(virLXCDriver *driver, virDomainObj *obj, - enum virLXCDomainJob job) + virDomainJob job) G_GNUC_WARN_UNUSED_RESULT; =20 void diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index ae6e328adb..e3c7d15a25 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -652,7 +652,7 @@ static int lxcDomainSetMemoryFlags(virDomainPtr dom, un= signed long newmem, if (virDomainSetMemoryFlagsEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0) @@ -766,7 +766,7 @@ lxcDomainSetMemoryParameters(virDomainPtr dom, if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) <= 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 /* QEMU and LXC implementation are identical */ @@ -983,7 +983,7 @@ static int lxcDomainCreateWithFiles(virDomainPtr dom, goto cleanup; } =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjIsActive(vm)) { @@ -1104,7 +1104,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, NULL))) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) { + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) { if (!vm->persistent) virDomainObjListRemove(driver->domains, vm); goto cleanup; @@ -1351,7 +1351,7 @@ lxcDomainDestroyFlags(virDomainPtr dom, if (virDomainDestroyFlagsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_DESTROY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_DESTROY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -1814,7 +1814,7 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom, if (!(caps =3D virLXCDriverGetCapabilities(driver, false))) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0) @@ -2033,7 +2033,7 @@ lxcDomainBlockStats(virDomainPtr dom, if (virDomainBlockStatsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2116,7 +2116,7 @@ lxcDomainBlockStatsFlags(virDomainPtr dom, if (virDomainBlockStatsFlagsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2252,7 +2252,7 @@ lxcDomainSetBlkioParameters(virDomainPtr dom, if (virDomainSetBlkioParametersEnsureACL(dom->conn, vm->def, flags) < = 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0) @@ -2394,7 +2394,7 @@ lxcDomainInterfaceStats(virDomainPtr dom, if (virDomainInterfaceStatsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2454,7 +2454,7 @@ static int lxcDomainSetAutostart(virDomainPtr dom, if (virDomainSetAutostartEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (!vm->persistent) { @@ -2605,7 +2605,7 @@ static int lxcDomainSuspend(virDomainPtr dom) if (virDomainSuspendEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2655,7 +2655,7 @@ static int lxcDomainResume(virDomainPtr dom) if (virDomainResumeEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2784,7 +2784,7 @@ lxcDomainSendProcessSignal(virDomainPtr dom, if (virDomainSendProcessSignalEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2869,7 +2869,7 @@ lxcDomainShutdownFlags(virDomainPtr dom, if (virDomainShutdownFlagsEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -2945,7 +2945,7 @@ lxcDomainReboot(virDomainPtr dom, if (virDomainRebootEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -4270,7 +4270,7 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr do= m, if (virDomainAttachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) @@ -4375,7 +4375,7 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr do= m, if (virDomainUpdateDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) @@ -4438,7 +4438,7 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr do= m, if (virDomainDetachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) @@ -4538,7 +4538,7 @@ static int lxcDomainLxcOpenNamespace(virDomainPtr dom, if (virDomainLxcOpenNamespaceEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -4621,7 +4621,7 @@ lxcDomainMemoryStats(virDomainPtr dom, if (virDomainMemoryStatsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) @@ -4791,7 +4791,7 @@ lxcDomainSetMetadata(virDomainPtr dom, if (virDomainSetMetadataEnsureACL(dom->conn, vm->def, flags) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) goto cleanup; =20 ret =3D virDomainObjSetMetadata(vm, type, metadata, key, uri, @@ -4897,7 +4897,7 @@ lxcDomainGetHostname(virDomainPtr dom, if (virDomainGetHostnameEnsureACL(dom->conn, vm->def) < 0) goto cleanup; =20 - if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0) + if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0) goto cleanup; =20 if (virDomainObjCheckActive(vm) < 0) --=20 2.35.1