From nobody Mon Dec 15 03:27:14 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511198776317130.25817108399986; Mon, 20 Nov 2017 09:26:16 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 468D276528; Mon, 20 Nov 2017 17:26:15 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1F8735EE1A; Mon, 20 Nov 2017 17:26:15 +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 CD32A180474A; Mon, 20 Nov 2017 17:26:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id vAKHQ1MH024831 for ; Mon, 20 Nov 2017 12:26:01 -0500 Received: by smtp.corp.redhat.com (Postfix) id 692ED6A823; Mon, 20 Nov 2017 17:26:01 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0984F600CC; Mon, 20 Nov 2017 17:25:58 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Mon, 20 Nov 2017 18:25:22 +0100 Message-Id: <89241df5956f7bf584f30e4a5a83baf313f5fb08.1511198532.git.pkrempa@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: Peter Krempa Subject: [libvirt] [PATCH 05/12] qemu: command: Move disk 'serial' into frontend parameter formatter 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 20 Nov 2017 17:26:15 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Disk serial is not a property of the image but of the disk frontend. Account for this appropriately. --- src/qemu/qemu_command.c | 17 +++++++++----= ---- .../qemuxml2argv-disk-drive-shared.args | 5 +++-- tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args | 5 ++--- tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args | 8 ++++---- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 8c7bb245ed..49fd05034b 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1611,6 +1611,7 @@ qemuBuildDriveSourceStr(virDomainDiskDefPtr disk, static void qemuBuildDiskFrontendAttributes(virDomainDiskDefPtr disk, + virQEMUCapsPtr qemuCaps, virBufferPtr buf) { /* generate geometry command string */ @@ -1626,6 +1627,12 @@ qemuBuildDiskFrontendAttributes(virDomainDiskDefPtr = disk, virBufferAsprintf(buf, ",trans=3D%s", virDomainDiskGeometryTransTypeToString(disk-= >geometry.trans)); } + + if (disk->serial && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) { + virBufferAddLit(buf, ",serial=3D"); + virBufferEscape(buf, '\\', " ", "%s", disk->serial); + } } @@ -1690,13 +1697,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk, virBufferAddLit(&opt, ",readonly=3Don"); if (!emitDeviceSyntax) - qemuBuildDiskFrontendAttributes(disk, &opt); - - if (disk->serial && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) { - virBufferAddLit(&opt, ",serial=3D"); - virBufferEscape(&opt, '\\', " ", "%s", disk->serial); - } + qemuBuildDiskFrontendAttributes(disk, qemuCaps, &opt); if (disk->cachemode) { virBufferAsprintf(&opt, ",cache=3D%s", @@ -2125,7 +2126,7 @@ qemuBuildDriveDevStr(const virDomainDef *def, disk->blockio.physical_block_size); } - qemuBuildDiskFrontendAttributes(disk, &opt); + qemuBuildDiskFrontendAttributes(disk, qemuCaps, &opt); if (disk->wwn) { if (STRPREFIX(disk->wwn, "0x")) diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args b/t= ests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args index 502157bf8c..2bcb875931 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args @@ -20,8 +20,9 @@ server,nowait \ -boot c \ -usb \ -drive file=3D/dev/HostVG/QEMUGuest1,format=3Dqcow2,if=3Dnone,id=3Ddrive-i= de0-0-0,\ -serial=3DXYZXYZXYZYXXYZYZYXYZY,cache=3Dnone \ --device ide-drive,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-= 0 \ +cache=3Dnone \ +-device ide-drive,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-= 0,\ +serial=3DXYZXYZXYZYXXYZYZYXYZY \ -drive file=3D/dev/HostVG/QEMUGuest2,format=3Draw,if=3Dnone,media=3Dcdrom,\ id=3Ddrive-ide0-1-0,readonly=3Don \ -device ide-drive,bus=3Dide.1,unit=3D0,drive=3Ddrive-ide0-1-0,id=3Dide0-1-= 0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args b/tests/= qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args index f2fb372a2a..b6138c9537 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args @@ -19,8 +19,7 @@ server,nowait \ -no-acpi \ -boot c \ -usb \ --drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-1,\ -serial=3DWD-WMAP9A966149 \ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-1 \ -device ide-hd,bus=3Dide.0,unit=3D1,drive=3Ddrive-ide0-0-1,id=3Dide0-0-1,\ -wwn=3D0x5000c50015ea71ad \ +serial=3DWD-WMAP9A966149,wwn=3D0x5000c50015ea71ad \ -device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args b/tests/q= emuxml2argvdata/qemuxml2argv-disk-serial.args index 18acb4f7af..0a0171a067 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-serial.args @@ -19,11 +19,11 @@ server,nowait \ -no-acpi \ -boot c \ -usb \ --drive 'file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-id= e0-0-1,\ +-drive file=3D/dev/HostVG/QEMUGuest1,format=3Draw,if=3Dnone,id=3Ddrive-ide= 0-0-1 \ +-device 'ide-drive,bus=3Dide.0,unit=3D1,drive=3Ddrive-ide0-0-1,id=3Dide0-0= -1,\ serial=3D\ \ WD-WMAP9A966149' \ --device ide-drive,bus=3Dide.0,unit=3D1,drive=3Ddrive-ide0-0-1,id=3Dide0-0-= 1 \ --drive 'file=3D/dev/HostVG/AllSerialChars,format=3Draw,if=3Dnone,id=3Ddriv= e-ide0-0-2,\ +-drive file=3D/dev/HostVG/AllSerialChars,format=3Draw,if=3Dnone,id=3Ddrive= -ide0-0-2 \ +-device 'ide-drive,bus=3Dide.0,unit=3D2,drive=3Ddrive-ide0-0-2,id=3Dide0-0= -2,\ serial=3DabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_\= .+' \ --device ide-drive,bus=3Dide.0,unit=3D2,drive=3Ddrive-ide0-0-2,id=3Dide0-0-= 2 \ -drive file=3D/some/file,format=3Draw,if=3Dsd,index=3D0,serial=3Dsdserial \ -device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list