From nobody Thu Nov 21 17:58:22 2024 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 173079355916977.25199564723869; Mon, 4 Nov 2024 23:59:19 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 04CDE13E7; Tue, 5 Nov 2024 02:59:17 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id EF0EF12BC; Tue, 5 Nov 2024 02:58:20 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id C5DF4E76; Tue, 5 Nov 2024 02:58:17 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4B2D8E72 for ; Tue, 5 Nov 2024 02:58:17 -0500 (EST) Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-168-dHNOfnDXMG-lBry-bIOTQA-1; Tue, 05 Nov 2024 02:58:15 -0500 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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 12B791955BF2 for ; Tue, 5 Nov 2024 07:58:15 +0000 (UTC) Received: from speedmetal.lan (unknown [10.45.242.2]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 434EF300018D for ; Tue, 5 Nov 2024 07:58:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730793497; 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=Fl0INLD3RhpLLuM4dKrAcip8Bxxi7pDGAPOFdcCdtZY=; b=M59cxoDwyDVRNuqpz+Uf2LsyfwyFep/yzRNi0Q9ObhPGVmC1wm9jSOFN0VRcq7OVFBkwv/ V0efCS25VdmDhr+Nd3BNyy+yqM/STjq0vcpOWJopwppUrXKIr0BZKqy9tN446SVM6EQTxp 4IpDJbyBKsv1EJzKGWqXOY6FcknbmQs= X-MC-Unique: dHNOfnDXMG-lBry-bIOTQA-1 From: Peter Krempa To: devel@lists.libvirt.org Subject: [PATCH 01/13] qemuPrepareNVRAM: Don't attempt to create NVRAM on block device Date: Tue, 5 Nov 2024 08:57:59 +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-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: FZ5IV32NSEN3TAXXWNK77GYIIS5Y72OH X-Message-ID-Hash: FZ5IV32NSEN3TAXXWNK77GYIIS5Y72OH X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1730793560339116600 Content-Type: text/plain; charset="utf-8" 'virFileRewrite()' which is used to setup the NVRAM image if it doesn't exist or when it is requested by the user forcibly replaces the destination file by the file it creates. For block devices this overwrites the device node file or the symlink pointing to the device node by a regular file instead of formatting it. As this not only makes the VM fail to start but also breaks user's /dev/ filesystem forbid it for now. Signed-off-by: Peter Krempa --- src/qemu/qemu_process.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 0815bffe3c..7a40e09d47 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4609,6 +4609,14 @@ qemuPrepareNVRAM(virQEMUDriver *driver, if (virFileExists(loader->nvram->path) && !reset_nvram) return 0; + /* virFileRewrite() would overwrite the device node-file/symlink rathe= r than + * just write the data to it, thus block-device nvram is not yet suppo= rted */ + if (virStorageSourceIsBlockLocal(loader->nvram)) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("creation or formatting of nvram type=3D'block' i= s not supported")); + return -1; + } + if (!loader->nvramTemplate) { virReportError(VIR_ERR_OPERATION_FAILED, _("unable to find any master var store for loader: = %1$s"), --=20 2.47.0