From nobody Tue Mar 24 01:05:39 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1774016296; cv=none; d=zohomail.com; s=zohoarc; b=dRX9YxUpuyzL71F4pvLFIbryDYMj3lAmxaudC57LB1k7Ukl3EIcCDQSrdbrgFYC89xjV+BZOTs8cj8tYBNS70eWqlQ6dSWtIVBC74/KT/6fCS41GWGa1LLGNvi3CYSJqawIPJkwIDZmg8aCvW4S5mwqVsrk3NAmkWTYVbBRWbV0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774016296; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=rb5rD8yV4uNpmLbwxWedEeyHOr37UbwjGUHfdDKoJlk=; b=JDAsC8yX6OkQ0P6ZxAebGXqeU44jRhZwiGZOCYV32lr1cEOZB1WVnxAQpMNPQlK7An+CYv2pnQK098xDygwO3jJ0FuYr0QSUVA9XwVLGTVkf8dInyfj+wYdDYjoXg1U9B0N9pReDGQl7dhMCodo6Kjv/PnHMwtiCD4I6dVJv/Qo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1774016296272702.1720665077233; Fri, 20 Mar 2026 07:18:16 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 972EF41862; Fri, 20 Mar 2026 10:18:13 -0400 (EDT) Received: from [172.19.199.12] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 598F541B0B; Fri, 20 Mar 2026 10:16:49 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EAE5A3F290; Fri, 20 Mar 2026 10:16:44 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 7A8944180D for ; Fri, 20 Mar 2026 10:16:44 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-626-4_UhPse_PNKBJPXbyA94xA-1; Fri, 20 Mar 2026 10:16:42 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 324B5180047F for ; Fri, 20 Mar 2026 14:16:42 +0000 (UTC) Received: from speedmetal.openshiftapps.com (unknown [10.45.242.5]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6AF3D30001A1 for ; Fri, 20 Mar 2026 14:16:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HELO_MISC_IP,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774016204; h=from:from: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; bh=rb5rD8yV4uNpmLbwxWedEeyHOr37UbwjGUHfdDKoJlk=; b=isZnv44M5kKvIgxCmm8HRTvYwZARt5KhWDkFttnrZyEL2Ms5HXAi3eVtdsVCVy1XP9tXq9 Cfxcj1GX5Bmy9tgdWsaCTO4Cl5fEYCAlKuqICWMZdJorEpKk0fwhMPpFa7JDOwjZ1UUiq9 XX+EbviGVclFbDwcHP/LpILMoxEZ1Fs= X-MC-Unique: 4_UhPse_PNKBJPXbyA94xA-1 X-Mimecast-MFC-AGG-ID: 4_UhPse_PNKBJPXbyA94xA_1774016202 To: devel@lists.libvirt.org Subject: [PATCH 1/3] qemu: backup: Move setup of VIR_STORAGE_NET_HOST_TRANS_FD to qemuBackupPrepare Date: Fri, 20 Mar 2026 15:16:36 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: wc3WLQ9iPeOQq2jntxbYiCd2SK3DuqDowYaDoDgTyeQ_1774016202 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: KKZL4RJR66XUOAFMSPFIRXKLJIP3WXM3 X-Message-ID-Hash: KKZL4RJR66XUOAFMSPFIRXKLJIP3WXM3 X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1774016298694154100 Content-Type: text/plain; charset="utf-8" From: Peter Krempa Consolidate the code under qemuBackupPrepare. Signed-off-by: Peter Krempa --- src/qemu/qemu_backup.c | 52 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index ddab4be34b..65a083ea74 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -60,7 +60,8 @@ qemuDomainGetBackup(virDomainObj *vm) static int qemuBackupPrepare(qemuDomainObjPrivate *priv, - virDomainBackupDef *def) + virDomainBackupDef *def, + qemuFDPassDirect **fdpass) { if (def->type =3D=3D VIR_DOMAIN_BACKUP_TYPE_PULL) { @@ -86,7 +87,29 @@ qemuBackupPrepare(qemuDomainObjPrivate *priv, /* TODO: Do we need to mess with selinux? */ break; - case VIR_STORAGE_NET_HOST_TRANS_FD: + case VIR_STORAGE_NET_HOST_TRANS_FD: { + virDomainFDTuple *fdt =3D NULL; + VIR_AUTOCLOSE fdcopy =3D -1; + + if (!(fdt =3D virHashLookup(priv->fds, def->server->fdgroup)))= { + virReportError(VIR_ERR_INVALID_ARG, + _("file descriptor group '%1$s' was not ass= ociated with the domain"), + def->server->fdgroup); + return -1; + } + + if (fdt->nfds !=3D 1) { + virReportError(VIR_ERR_INVALID_ARG, + _("file descriptor group '%1$s' must contai= n only 1 file descriptor for NBD server"), + def->server->fdgroup); + return -1; + } + + def->server->qemu_fdname =3D g_strdup("libvirt-backup-nbd"); + fdcopy =3D dup(fdt->fds[0]); + *fdpass =3D qemuFDPassDirectNew(def->server->qemu_fdname, &fdc= opy); + } + break; case VIR_STORAGE_NET_HOST_TRANS_RDMA: @@ -837,7 +860,7 @@ qemuBackupBegin(virDomainObj *vm, goto endjob; } - if (qemuBackupPrepare(priv, def) < 0) + if (qemuBackupPrepare(priv, def, &fdpass) < 0) goto endjob; if (qemuBackupBeginPrepareTLS(vm, cfg, def, &tlsProps, &tlsSecretProps= ) < 0) @@ -874,29 +897,6 @@ qemuBackupBegin(virDomainObj *vm, priv->backup =3D g_steal_pointer(&def); - if (pull && priv->backup->server->fdgroup) { - virDomainFDTuple *fdt =3D NULL; - VIR_AUTOCLOSE fdcopy =3D -1; - - if (!(fdt =3D virHashLookup(priv->fds, priv->backup->server->fdgro= up))) { - virReportError(VIR_ERR_INVALID_ARG, - _("file descriptor group '%1$s' was not associa= ted with the domain"), - priv->backup->server->fdgroup); - goto endjob; - } - - if (fdt->nfds !=3D 1) { - virReportError(VIR_ERR_INVALID_ARG, - _("file descriptor group '%1$s' must contain on= ly 1 file descriptor for NBD server"), - priv->backup->server->fdgroup); - goto endjob; - } - - priv->backup->server->qemu_fdname =3D g_strdup("libvirt-backup-nbd= "); - fdcopy =3D dup(fdt->fds[0]); - fdpass =3D qemuFDPassDirectNew(priv->backup->server->qemu_fdname, = &fdcopy); - } - if (qemuDomainObjEnterMonitorAsync(vm, VIR_ASYNC_JOB_BACKUP) < 0) goto endjob; --=20 2.53.0