[Qemu-devel] [Bug 1799766] Re: -device does not work as -drive do

2018-10-25 Thread Yannick Duchêne
Yes, I messed up with `-device`, because I initially tried to do it with
`-device`, later rely only on automatically created device, and so had
automatically created devices.

Thanks for you rich comment, I will study it.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1799766

Title:
  -device does not work as -drive do

Status in QEMU:
  New

Bug description:
  Copy/paste of https://stackoverflow.com/questions/52929723/qemu-eject-
  complains-device-is-not-found-while-it-is-there , since I found this
  bug trying to find an answer to an own question on Stack Overflow.

  Below, what was my question the answer I wrote, all exposes the bug.

  

  
  I need to eject a floppy from QEmu 3.0 monitor, but the command surprisingly 
fails complaining the device is not found, while it is really there.

  Listing of devices:

  (qemu) info block
  fda: dos-6-22/Dos622-1.img (raw)
  Attached to:  /machine/unattached/device[11]
  Removable device: not locked, tray closed
  Cache mode:   writeback

  hda: hda.img (raw)
  Attached to:  /machine/peripheral-anon/device[1]
  Cache mode:   writeback

  Eject command result:

  (qemu) eject fda
  Device 'fda' not found

  This is so although this documentation says this is how I have to do:
  https://www.linux-kvm.org/page/Change_cdrom (just that I want to eject
  the floppy instead of the CD‑ROM).

  The `change` command complains the same:

  (qemu) change fda dos-6-22/Dos622-2.img raw
  Device 'fda' not found

  Is this a bug or me doing something wrong?

  I tried using different node names, with always the same result.

  

  I’m posting as an answer, but I’m not strictly sure. I can just say,
  if I understand correctly, this is a bug.

  The answer comes in two parts.

  First part, is a stripped down failing invocation:

  qemu-system-i386 \
 -monitor stdio \
 -machine type=isapc,vmport=off \
 -blockdev driver=file,node-name=fda-img,filename=fda.img \
 -blockdev driver=raw,node-name=fda,file=fda-img \
 -global isa-fdc.driveA=fda

  (qemu) info block
  ide1-cd0: [not inserted]
  Attached to:  /machine/unattached/device[19]
  Removable device: not locked, tray closed

  sd0: [not inserted]
  Removable device: not locked, tray closed

  fda: fda.img (raw)
  Attached to:  /machine/unattached/device[13]
  Removable device: not locked, tray closed
  Cache mode:   writeback
  (qemu) eject fda
  Device 'fda' not found

  Second part, is the same without the last argument `-global isa-
  fdc.driveA=fda`:

  qemu-system-i386 \
 -monitor stdio \
 -machine type=isapc,vmport=off \
 -blockdev driver=file,node-name=fda-img,filename=fda.img \
 -blockdev driver=raw,node-name=fda,file=fda-img

  (qemu) info block
  ide1-cd0: [not inserted]
  Attached to:  /machine/unattached/device[19]
  Removable device: not locked, tray closed

  floppy0: [not inserted]
  Attached to:  /machine/unattached/device[13]
  Removable device: not locked, tray closed

  sd0: [not inserted]
  Removable device: not locked, tray closed
  (qemu) eject floppy0

  There is more error when `-global isa-fdc.driveA=fda` is removed.
  However, the documentation says:

  > -global driver=driver,property=property,value=value
  > Set default value of driver’s property prop to value, e.g.:

  > qemu-system-i386 -global ide-hd.physical_block_size=4096 disk-image.img
  > In particular, you can **use this to set driver properties for devices 
which are created automatically by the machine model**. To create a device 
which is not created automatically and set properties on it, use -device.

  > -global driver.prop=value is shorthand for -global
  driver=driver,property=prop,value=value. The longhand syntax works
  even when driver contains a dot.

  What I put a stress on in the quote, suggest I’m not misusing
  `-global` and that’s most probably a bug.

  **Update for more details:**

  It seems using `-drive` instead of `-device` and `driveA` assignment,
  the result is not the same, although RedHat documentation recommands
  using `-device` instead of `-drive` and QEmu 3.0 documentation says
  `-drive` is essentially a shortcut for `-device` (“essentially”, not
  telling about the difference).

  Below, two cases, with an except of `info block` and an excerpt of
  `info qtree`.

  With this one, `eject floppy0` works:

  qemu-system-i386 \
 -monitor stdio \
 -machine type=isapc,vmport=off \
 -drive format=raw,if=floppy,media=disk,file=fda.img \

[Qemu-devel] [Bug 1799919] [NEW] IDE HDD emulation random read/write errors

2018-10-25 Thread Yannick Duchêne
Public bug reported:

I unfortunately can’t give more tracks other than how to reproduce the
bug, especially that the bug occurs randomly.

Basically, I’m trying to install DOS 6.22 on an emulated ISA machine,
and it fails, DOS complaining about read or write error on drive C.
Repeating the operation multiple time, I see it occurs at random stage,
sometime even before it partitions the drive, sometime when it formats
the drive, sometime when it copies the files from the floppy to the
drive.

To test it, unpack the attached archive and execute `./run` from the
extracted directory. The archive contains three raw floppy images for
installing DOS 6.22, and a Bourne Shell script which invokes QEmu. Just
press enter at any installation stage, the bug may occurs at any stage.

I tried with `cache=none` to be sure it’s not a cache issue, but its the
same whatever the cache policy is.

Version and environment: using QEmu 3.0 on Ubuntu 16.04 on a 32 bits
DELL Inspiron 9400 (not an emulation, that’s my real laptop).

For why I’m using QEmu for this: the installation proceeds with not
error in VirtualBox, but I wanted to use QEmu to have a serial mouse
which is not available with QEmu and to have finer control over the
machine configuration ; VirtualBox although good, is more limited in
that regard.

** Affects: qemu
 Importance: Undecided
 Status: New

** Attachment added: "Material to reproduce the bug"
   https://bugs.launchpad.net/bugs/1799919/+attachment/5205307/+files/bug.tar.xz

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1799919

Title:
  IDE HDD emulation random read/write errors

Status in QEMU:
  New

Bug description:
  I unfortunately can’t give more tracks other than how to reproduce the
  bug, especially that the bug occurs randomly.

  Basically, I’m trying to install DOS 6.22 on an emulated ISA machine,
  and it fails, DOS complaining about read or write error on drive C.
  Repeating the operation multiple time, I see it occurs at random
  stage, sometime even before it partitions the drive, sometime when it
  formats the drive, sometime when it copies the files from the floppy
  to the drive.

  To test it, unpack the attached archive and execute `./run` from the
  extracted directory. The archive contains three raw floppy images for
  installing DOS 6.22, and a Bourne Shell script which invokes QEmu.
  Just press enter at any installation stage, the bug may occurs at any
  stage.

  I tried with `cache=none` to be sure it’s not a cache issue, but its
  the same whatever the cache policy is.

  Version and environment: using QEmu 3.0 on Ubuntu 16.04 on a 32 bits
  DELL Inspiron 9400 (not an emulation, that’s my real laptop).

  For why I’m using QEmu for this: the installation proceeds with not
  error in VirtualBox, but I wanted to use QEmu to have a serial mouse
  which is not available with QEmu and to have finer control over the
  machine configuration ; VirtualBox although good, is more limited in
  that regard.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1799919/+subscriptions



[Qemu-devel] [Bug 1799768] [NEW] -nodefaults has unclear documentation

2018-10-24 Thread Yannick Duchêne
Public bug reported:

-nodefaults has an unclear documentation, I believe it should states it
does not applies to devices created by a machine model.

See https://stackoverflow.com/questions/52908614/qemu-s-nodefaults-not-
working-as-expected-to-me to read how I came to this.

** Affects: qemu
 Importance: Undecided
 Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1799768

Title:
  -nodefaults has unclear documentation

Status in QEMU:
  New

Bug description:
  -nodefaults has an unclear documentation, I believe it should states
  it does not applies to devices created by a machine model.

  See https://stackoverflow.com/questions/52908614/qemu-s-nodefaults-
  not-working-as-expected-to-me to read how I came to this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1799768/+subscriptions



[Qemu-devel] [Bug 1799766] [NEW] -device does not work as -drive do

2018-10-24 Thread Yannick Duchêne
Public bug reported:

Copy/paste of https://stackoverflow.com/questions/52929723/qemu-eject-
complains-device-is-not-found-while-it-is-there , since I found this bug
trying to find an answer to an own question on Stack Overflow.

Below, what was my question the answer I wrote, all exposes the bug.




I need to eject a floppy from QEmu 3.0 monitor, but the command surprisingly 
fails complaining the device is not found, while it is really there.

Listing of devices:

(qemu) info block
fda: dos-6-22/Dos622-1.img (raw)
Attached to:  /machine/unattached/device[11]
Removable device: not locked, tray closed
Cache mode:   writeback

hda: hda.img (raw)
Attached to:  /machine/peripheral-anon/device[1]
Cache mode:   writeback

Eject command result:

(qemu) eject fda
Device 'fda' not found

This is so although this documentation says this is how I have to do:
https://www.linux-kvm.org/page/Change_cdrom (just that I want to eject
the floppy instead of the CD‑ROM).

The `change` command complains the same:

(qemu) change fda dos-6-22/Dos622-2.img raw
Device 'fda' not found

Is this a bug or me doing something wrong?

I tried using different node names, with always the same result.



I’m posting as an answer, but I’m not strictly sure. I can just say, if
I understand correctly, this is a bug.

The answer comes in two parts.

First part, is a stripped down failing invocation:

qemu-system-i386 \
   -monitor stdio \
   -machine type=isapc,vmport=off \
   -blockdev driver=file,node-name=fda-img,filename=fda.img \
   -blockdev driver=raw,node-name=fda,file=fda-img \
   -global isa-fdc.driveA=fda

(qemu) info block
ide1-cd0: [not inserted]
Attached to:  /machine/unattached/device[19]
Removable device: not locked, tray closed

sd0: [not inserted]
Removable device: not locked, tray closed

fda: fda.img (raw)
Attached to:  /machine/unattached/device[13]
Removable device: not locked, tray closed
Cache mode:   writeback
(qemu) eject fda
Device 'fda' not found

Second part, is the same without the last argument `-global isa-
fdc.driveA=fda`:

qemu-system-i386 \
   -monitor stdio \
   -machine type=isapc,vmport=off \
   -blockdev driver=file,node-name=fda-img,filename=fda.img \
   -blockdev driver=raw,node-name=fda,file=fda-img

(qemu) info block
ide1-cd0: [not inserted]
Attached to:  /machine/unattached/device[19]
Removable device: not locked, tray closed

floppy0: [not inserted]
Attached to:  /machine/unattached/device[13]
Removable device: not locked, tray closed

sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) eject floppy0

There is more error when `-global isa-fdc.driveA=fda` is removed.
However, the documentation says:

> -global driver=driver,property=property,value=value
> Set default value of driver’s property prop to value, e.g.:

> qemu-system-i386 -global ide-hd.physical_block_size=4096 disk-image.img
> In particular, you can **use this to set driver properties for devices which 
> are created automatically by the machine model**. To create a device which is 
> not created automatically and set properties on it, use -device.

> -global driver.prop=value is shorthand for -global
driver=driver,property=prop,value=value. The longhand syntax works even
when driver contains a dot.

What I put a stress on in the quote, suggest I’m not misusing `-global`
and that’s most probably a bug.

**Update for more details:**

It seems using `-drive` instead of `-device` and `driveA` assignment,
the result is not the same, although RedHat documentation recommands
using `-device` instead of `-drive` and QEmu 3.0 documentation says
`-drive` is essentially a shortcut for `-device` (“essentially”, not
telling about the difference).

Below, two cases, with an except of `info block` and an excerpt of `info
qtree`.

With this one, `eject floppy0` works:

qemu-system-i386 \
   -monitor stdio \
   -machine type=isapc,vmport=off \
   -drive format=raw,if=floppy,media=disk,file=fda.img \
   -device isa-vga,vgamem_mb=1 \
   -serial msmouse

[…]

floppy0 (#block156): fda.img (raw)
Attached to:  /machine/unattached/device[12]
Removable device: not locked, tray closed
Cache mode:   writeback

[…]

  dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
driveA = ""
driveB = ""
check_media_rate = true
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
isa irq 6
bus: floppy-bus.0
  type floppy-bus
  dev: floppy, id ""
unit