From nobody Sun Feb 8 16:30:54 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1575933389; cv=none; d=zohomail.com; s=zohoarc; b=Rm0BdycUe0cVt6amzN95PIb1F9zlwcnvc3/GDBeguNw46UCvAumuoJGlfNQvgpjUVjSZ4lThi2fUpOSCChAKIOoTS8mm251mfCoQrbaTJqVLjOnMbRju+Pb3mSCJQ5Dug5+/4LzK+XWAAZY4hy0gBdWlrQmWz49NXwzqX9fG1RY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575933389; 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:References:Sender:Subject:To; bh=umRr62UDDa7P8fqjhD9NNy96Syl83tPDJVtAzvabqgw=; b=GotmZf4VJew8cVAzX/M89fSX6570V4y4u/1qWXkEx6NRp2siUjDJGnbOiabGnmX2hiuSopKrQatv7iNdTzkK+vGoSgN+3J3xK+j0Mb3yEGkrVz1xxGvCWyd85IYW6yilm+Zi/HcWVyab3T5MPY8mplcPpZpf5Jl+z044Du9DlM4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1575933389165864.3997464945664; Mon, 9 Dec 2019 15:16:29 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-355-Tbnv1fRkPiqHl69CdOQIJA-1; Mon, 09 Dec 2019 18:16:26 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 65487800EB7; Mon, 9 Dec 2019 23:16:20 +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 39BFE6E509; Mon, 9 Dec 2019 23:16:20 +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 DE1178355C; Mon, 9 Dec 2019 23:16:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xB9NG58t008446 for ; Mon, 9 Dec 2019 18:16:05 -0500 Received: by smtp.corp.redhat.com (Postfix) id C24342063FED; Mon, 9 Dec 2019 23:16:05 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BD7412026D69 for ; Mon, 9 Dec 2019 23:16:05 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7BF7D90017F for ; Mon, 9 Dec 2019 23:16:05 +0000 (UTC) Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-219-VpAD5i4uOC-DxNB4N6QTDw-1; Mon, 09 Dec 2019 18:16:03 -0500 Received: by mail-qv1-f45.google.com with SMTP id z3so3425896qvn.0; Mon, 09 Dec 2019 15:16:02 -0800 (PST) Received: from rekt.ibmuc.com ([2804:431:c7c6:fe5:8243:c780:f073:3beb]) by smtp.gmail.com with ESMTPSA id e130sm352436qkb.72.2019.12.09.15.16.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 15:16:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575933388; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=umRr62UDDa7P8fqjhD9NNy96Syl83tPDJVtAzvabqgw=; b=abDa+cBbsSft0cz2oyuv0xlrQ8XPwlRmTGunlORM8JBxlH77bfkTGWyYlabbvIyt2zKvyC vQbo9Sgui7I3XJ0mwCGb8R9W2/J2pCjX6blv5LrnW0L8qRP+OWklhY41Znm8FF80Zz0/LP 9jFpQHbMKcULZtxS/QmEm7w0a8utV/0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FQo3GsRrL+hmo9UGPdi07+aOy/GHmKIdO+G8czz+sxo=; b=QY1noJ2ZV0d/m+J38pTwCtYGT9BkDdEQsXLbw6L8i23kyo4DSrm0Dmr/WMS6seh00B /xJLOGIhhyrhzqOpCw/GqzzzGVkwFIpzVgVPZWLHczeUDbwzx1K/C5vtVnv6FH7DEeSC ROknkLGJV6xMCf3rWUY4DqkeaA7p4X8XKk81wit9VWj7U1YWeJGLrns3Ch+lJyisOiBp SOFZfGBrIVL8GTK8hFyJWjbYd1mT1uCZDu3FdgZswxm+sIPJn27pD2xxvarr2NIqiJeb kSbqKVWCuZvVLkKq9UCBc/0OQGdkhinTfxdQ08O+3OnaxljXHB6z4j6YGCqKM9olT4lW Fdfg== X-Gm-Message-State: APjAAAVDCXWwCtZMoKinKW4wubTKAxhR9NZbMWCtGBsCOO1phPnToNPA ogmiKEsDwOkMJvS35qnbbkdCZ+N1ESE= X-Google-Smtp-Source: APXvYqw5SFGnkwy2m8PdxBFja8rvi1BqM0h+jYHpg2AZF9m5Z23VFc3e8k452CZrIz78QHHjYRyZQg== X-Received: by 2002:a0c:fa90:: with SMTP id o16mr26395180qvn.219.1575933362293; Mon, 09 Dec 2019 15:16:02 -0800 (PST) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 9 Dec 2019 20:15:17 -0300 Message-Id: <20191209231531.2423222-13-danielhb413@gmail.com> In-Reply-To: <20191209231531.2423222-1-danielhb413@gmail.com> References: <20191209231531.2423222-1-danielhb413@gmail.com> MIME-Version: 1.0 X-MC-Unique: VpAD5i4uOC-DxNB4N6QTDw-1 X-MC-Unique: Tbnv1fRkPiqHl69CdOQIJA-1 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id xB9NG58t008446 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza , crobinso@redhat.com Subject: [libvirt] [PATCH v1 12/26] qemu_command: move qemuBuildChrChardevStr caps validation to qemu_domain 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.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Move QEMU caps validation of QEMU_CAPS_CHARDEV_FILE_APPEND and QEMU_CAPS_CHARDEV_LOGFILE to qemuDomainChrSourceDefValidate(). Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_command.c | 11 ----------- src/qemu/qemu_domain.c | 44 ++++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 0fa7f4693e..58409a85d9 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5098,12 +5098,6 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, case VIR_DOMAIN_CHR_TYPE_FILE: virBufferAsprintf(&buf, "file,id=3D%s", charAlias); =20 - if (dev->data.file.append !=3D VIR_TRISTATE_SWITCH_ABSENT && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_FILE_APPEND)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("append not supported in this QEMU binary")); - return NULL; - } if (qemuBuildChrChardevFileStr(flags & QEMU_BUILD_CHARDEV_FILE_LOG= D ? logManager : NULL, cmd, def, &buf, @@ -5239,11 +5233,6 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager, } =20 if (dev->logfile) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_LOGFILE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("logfile not supported in this QEMU binary")); - return NULL; - } if (qemuBuildChrChardevFileStr(logManager, cmd, def, &buf, "logfile", dev->logfile, "logappend", dev->logappend) < 0) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index fe24e736e8..2b97b5f1bd 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5525,7 +5525,8 @@ qemuDomainChrSourceReconnectDefValidate(const virDoma= inChrSourceReconnectDef *de =20 =20 static int -qemuDomainChrSourceDefValidate(const virDomainChrSourceDef *def) +qemuDomainChrSourceDefValidate(const virDomainChrSourceDef *def, + virQEMUCapsPtr qemuCaps) { switch ((virDomainChrType)def->type) { case VIR_DOMAIN_CHR_TYPE_TCP: @@ -5538,11 +5539,19 @@ qemuDomainChrSourceDefValidate(const virDomainChrSo= urceDef *def) return -1; break; =20 + case VIR_DOMAIN_CHR_TYPE_FILE: + if (def->data.file.append !=3D VIR_TRISTATE_SWITCH_ABSENT && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_FILE_APPEND)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("append not supported in this QEMU binary")); + return -1; + } + break; + case VIR_DOMAIN_CHR_TYPE_NULL: case VIR_DOMAIN_CHR_TYPE_VC: case VIR_DOMAIN_CHR_TYPE_PTY: case VIR_DOMAIN_CHR_TYPE_DEV: - case VIR_DOMAIN_CHR_TYPE_FILE: case VIR_DOMAIN_CHR_TYPE_PIPE: case VIR_DOMAIN_CHR_TYPE_STDIO: case VIR_DOMAIN_CHR_TYPE_UDP: @@ -5553,6 +5562,14 @@ qemuDomainChrSourceDefValidate(const virDomainChrSou= rceDef *def) break; } =20 + if (def->logfile) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_LOGFILE)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("logfile not supported in this QEMU binary")); + return -1; + } + } + return 0; } =20 @@ -5692,9 +5709,10 @@ qemuDomainChrTargetDefValidate(const virDomainChrDef= *chr) =20 static int qemuDomainChrDefValidate(const virDomainChrDef *dev, - const virDomainDef *def) + const virDomainDef *def, + virQEMUCapsPtr qemuCaps) { - if (qemuDomainChrSourceDefValidate(dev->source) < 0) + if (qemuDomainChrSourceDefValidate(dev->source, qemuCaps) < 0) return -1; =20 if (qemuDomainChrTargetDefValidate(dev) < 0) @@ -5750,10 +5768,11 @@ qemuDomainChrDefValidate(const virDomainChrDef *dev, =20 =20 static int -qemuDomainSmartcardDefValidate(const virDomainSmartcardDef *def) +qemuDomainSmartcardDefValidate(const virDomainSmartcardDef *def, + virQEMUCapsPtr qemuCaps) { if (def->type =3D=3D VIR_DOMAIN_SMARTCARD_TYPE_PASSTHROUGH && - qemuDomainChrSourceDefValidate(def->data.passthru) < 0) + qemuDomainChrSourceDefValidate(def->data.passthru, qemuCaps) < 0) return -1; =20 return 0; @@ -5765,7 +5784,7 @@ qemuDomainRNGDefValidate(const virDomainRNGDef *def, virQEMUCapsPtr qemuCaps G_GNUC_UNUSED) { if (def->backend =3D=3D VIR_DOMAIN_RNG_BACKEND_EGD && - qemuDomainChrSourceDefValidate(def->source.chardev) < 0) + qemuDomainChrSourceDefValidate(def->source.chardev, qemuCaps) < 0) return -1; =20 return 0; @@ -5773,9 +5792,10 @@ qemuDomainRNGDefValidate(const virDomainRNGDef *def, =20 =20 static int -qemuDomainRedirdevDefValidate(const virDomainRedirdevDef *def) +qemuDomainRedirdevDefValidate(const virDomainRedirdevDef *def, + virQEMUCapsPtr qemuCaps) { - if (qemuDomainChrSourceDefValidate(def->source) < 0) + if (qemuDomainChrSourceDefValidate(def->source, qemuCaps) < 0) return -1; =20 return 0; @@ -7695,11 +7715,11 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDe= f *dev, break; =20 case VIR_DOMAIN_DEVICE_CHR: - ret =3D qemuDomainChrDefValidate(dev->data.chr, def); + ret =3D qemuDomainChrDefValidate(dev->data.chr, def, qemuCaps); break; =20 case VIR_DOMAIN_DEVICE_SMARTCARD: - ret =3D qemuDomainSmartcardDefValidate(dev->data.smartcard); + ret =3D qemuDomainSmartcardDefValidate(dev->data.smartcard, qemuCa= ps); break; =20 case VIR_DOMAIN_DEVICE_RNG: @@ -7707,7 +7727,7 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef = *dev, break; =20 case VIR_DOMAIN_DEVICE_REDIRDEV: - ret =3D qemuDomainRedirdevDefValidate(dev->data.redirdev); + ret =3D qemuDomainRedirdevDefValidate(dev->data.redirdev, qemuCaps= ); break; =20 case VIR_DOMAIN_DEVICE_WATCHDOG: --=20 2.23.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list