On Fri, Feb 08, 2019 at 08:29:07 +0100, Peter Krempa wrote:
On Thu, Feb 07, 2019 at 18:15:06 +0100, Ján Tomko wrote:
> On Mon, Feb 04, 2019 at 04:47:04PM +0100, Peter Krempa wrote:
> > QEMU accidentally exposed the id of -drive (or same value as disk
> > serial, if provided) in one of the identifiers visible from the guest.
> >
> > To avoid regression in case when -blockdev will be used we need to
> > always specify it ourselves.
> >
> > Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
> > ---
> > src/qemu/qemu_command.c | 22 +++++++++++++++++++
> > .../controller-virtio-scsi.x86_64-latest.args | 20 ++++++++---------
> > .../disk-cache.x86_64-latest.args | 4 ++--
> > .../disk-scsi-device-auto.x86_64-latest.args | 3 ++-
> > .../disk-scsi.x86_64-latest.args | 16 ++++++++------
> > .../disk-shared.x86_64-latest.args | 5 +++--
> > ...threads-virtio-scsi-pci.x86_64-latest.args | 4 ++--
> > 7 files changed, 50 insertions(+), 24 deletions(-)
> >
> > @@ -2021,6 +2037,12 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
> > disk->info.addr.drive.target,
> > disk->info.addr.drive.unit);
> > }
> > +
> > + if (scsiVPDDeviceId) {
> > + virBufferAddLit(&opt, ",device_id=");
> > + virBufferEscape(&opt, '\\', " ",
"%s", scsiVPDDeviceId);
>
> commas should be escaped, not spaces
Hmm, I stole this from disk serial formatting as it's passed here when
it's present. I'll need to check first whether serial also does not need
a tweak.
So the disk serial is validated by qemuSafeSerialParamValue in
qemuCheckDiskConfig so that it does not contain a comma. Given that we
don't need to escape spaces here I'll remove the escaping.