From nobody Sun Feb 8 19:43:40 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=1660138443; cv=none; d=zohomail.com; s=zohoarc; b=PTRm+14CWbw0pKqfjbuBFimLxHYOtuGD08wVgqwwwrOqf/Jnsy22H1tMZqqc2EYlXIgk7XCNMIO5CXU5+TZSMn3fxSGet3SJGQtwdjC3fMSuKVJ44+lAZKMYBKFzOf0lBmiTpctR1GGiTLzSAZKjKQGzqrwS5Cet8ZXO393x/w8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660138443; 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=6QTsKVcReqr88gbQsRfcy70EROmQWnmwckPZokrCW/I=; b=BC9gKCl9SX3P49coi0JyX10f+L9p/1KBj5I6dtE81tYsWvJ4JH9lEhTldsM+VKYRBtEG3EuInJ+PtrtZcFR1YuZ16qdbogR/OoWN8hcDnUcK1A9W2QTi5N39cuTVYs9xCkwQs9Q8l1W6ojhovj31h7JKN7FcJE9Mz3LoulcD9Q4= 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 1660138443295103.80380884127874; Wed, 10 Aug 2022 06:34:03 -0700 (PDT) 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-647-BAo8Mz6EMBu0aRzyWfFuIg-1; Wed, 10 Aug 2022 09:33:27 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 89C3891C694; Wed, 10 Aug 2022 13:33:23 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7041FC15BAD; Wed, 10 Aug 2022 13:33:23 +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 B05061946A75; Wed, 10 Aug 2022 13:33:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 6E4171946A4F for ; Wed, 10 Aug 2022 12:57:13 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 5DE8040D282E; Wed, 10 Aug 2022 12:57:13 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.166]) by smtp.corp.redhat.com (Postfix) with ESMTP id 09D0340D2827 for ; Wed, 10 Aug 2022 12:57:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660138442; 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=6QTsKVcReqr88gbQsRfcy70EROmQWnmwckPZokrCW/I=; b=DwfnFpDATquC+TejyuMnK6enatbUF7DBsECjeu0O2K5H7t/KATN1CZnVjMBC+PWMV1ptoh 1V2D+njx8oEnabg9Y3hb9MvIR1DTV2AvyD5Q/xK43hySm8GZbBrVwu/sqVt/m2l3+ZNUcY 2A95haJKIgqjtPvY9MZGD231g4qvjVE= X-MC-Unique: BAo8Mz6EMBu0aRzyWfFuIg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 5/5] hypervisor: domain_job: add JobData private callbacks into virDomainJobObj Date: Wed, 10 Aug 2022 14:57:04 +0200 Message-Id: <01ae0a2cdf878a95d89dfa961e4d6d2b54c79257.1660136124.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 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.85 on 10.11.54.8 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: 1660138444636100001 Content-Type: text/plain; charset="utf-8"; x-default="true" We need this callback structure for qemu driver only, but it makes more sense to include it in the virDomainJobObj in case of other future additions than as a parameter of a beginJob functions. Signed-off-by: Kristina Hanicova --- src/ch/ch_domain.c | 2 +- src/hypervisor/domain_job.c | 4 +++- src/hypervisor/domain_job.h | 5 ++++- src/libxl/libxl_domain.c | 2 +- src/lxc/lxc_domain.c | 2 +- src/qemu/qemu_domain.c | 3 ++- src/qemu/qemu_domainjob.c | 2 +- 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/ch/ch_domain.c b/src/ch/ch_domain.c index 817b1176d5..89b494b388 100644 --- a/src/ch/ch_domain.c +++ b/src/ch/ch_domain.c @@ -117,7 +117,7 @@ virCHDomainObjPrivateAlloc(void *opaque) =20 priv =3D g_new0(virCHDomainObjPrivate, 1); =20 - if (virDomainObjInitJob(&priv->job, NULL) < 0) { + if (virDomainObjInitJob(&priv->job, NULL, NULL) < 0) { g_free(priv); return NULL; } diff --git a/src/hypervisor/domain_job.c b/src/hypervisor/domain_job.c index 0afed46418..77110d2a23 100644 --- a/src/hypervisor/domain_job.c +++ b/src/hypervisor/domain_job.c @@ -116,10 +116,12 @@ virDomainJobStatusToType(virDomainJobStatus status) =20 int virDomainObjInitJob(virDomainJobObj *job, - virDomainObjPrivateJobCallbacks *cb) + virDomainObjPrivateJobCallbacks *cb, + virDomainJobDataPrivateDataCallbacks *jobDataPrivateCb) { memset(job, 0, sizeof(*job)); job->cb =3D cb; + job->jobDataPrivateCb =3D jobDataPrivateCb; =20 if (virCondInit(&job->cond) < 0) return -1; diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h index 7f35d5ee85..334b59c465 100644 --- a/src/hypervisor/domain_job.h +++ b/src/hypervisor/domain_job.h @@ -185,6 +185,8 @@ struct _virDomainJobObj { =20 void *privateData; /* job specific collection of data= */ virDomainObjPrivateJobCallbacks *cb; + virDomainJobDataPrivateDataCallbacks *jobDataPrivateCb; /* callbacks f= or privateData of + virDomainJo= bData, can be NULL */ }; =20 =20 @@ -210,7 +212,8 @@ struct _virDomainObjPrivateJobCallbacks { =20 =20 int virDomainObjInitJob(virDomainJobObj *job, - virDomainObjPrivateJobCallbacks *cb); + virDomainObjPrivateJobCallbacks *cb, + virDomainJobDataPrivateDataCallbacks *jobDataPriva= teCb); =20 void virDomainObjResetJob(virDomainJobObj *job); =20 diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 9a23598512..52e0aa1e60 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -161,7 +161,7 @@ libxlDomainObjPrivateAlloc(void *opaque G_GNUC_UNUSED) return NULL; } =20 - if (virDomainObjInitJob(&priv->job, NULL) < 0) { + if (virDomainObjInitJob(&priv->job, NULL, NULL) < 0) { virChrdevFree(priv->devs); g_free(priv); return NULL; diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c index 654c35c640..61e59ec726 100644 --- a/src/lxc/lxc_domain.c +++ b/src/lxc/lxc_domain.c @@ -120,7 +120,7 @@ virLXCDomainObjPrivateAlloc(void *opaque) { virLXCDomainObjPrivate *priv =3D g_new0(virLXCDomainObjPrivate, 1); =20 - if (virDomainObjInitJob(&priv->job, NULL) < 0) { + if (virDomainObjInitJob(&priv->job, NULL, NULL) < 0) { g_free(priv); return NULL; } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 93fd11a3c9..abd76dbd66 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1760,7 +1760,8 @@ qemuDomainObjPrivateAlloc(void *opaque) g_autoptr(qemuDomainObjPrivate) priv =3D g_new0(qemuDomainObjPrivate, = 1); g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(opaque); =20 - if (virDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) { + if (virDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks, + &qemuJobDataPrivateDataCallbacks) < 0) { virReportSystemError(errno, "%s", _("Unable to init qemu driver mutexes")); return NULL; diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c index 1b85e3bb2d..66a91a3e4f 100644 --- a/src/qemu/qemu_domainjob.c +++ b/src/qemu/qemu_domainjob.c @@ -817,7 +817,7 @@ qemuDomainObjBeginJobInternal(virDomainObj *obj, virDomainAsyncJobTypeToString(asyncJob), obj, obj->def->name); virDomainObjResetAsyncJob(&priv->job); - priv->job.current =3D virDomainJobDataInit(&qemuJobDataPrivate= DataCallbacks); + priv->job.current =3D virDomainJobDataInit(priv->job.jobDataPr= ivateCb); priv->job.current->status =3D VIR_DOMAIN_JOB_STATUS_ACTIVE; priv->job.asyncJob =3D asyncJob; priv->job.asyncOwner =3D virThreadSelfID(); --=20 2.37.1