2016-10-27 23:29:14 +03:00
QA output created by 172
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=737280
2017-05-02 19:35:48 +03:00
Formatting 'TEST_DIR/t.IMGFMT.2', fmt=IMGFMT size=737280
Formatting 'TEST_DIR/t.IMGFMT.3', fmt=IMGFMT size=737280
2016-10-27 23:29:14 +03:00
=== Default ===
Testing:
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
=== Using -fda/-fdb options ===
Testing: -fda TEST_DIR/t.qcow2
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -fdb TEST_DIR/t.qcow2
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
2020-06-22 12:42:12 +03:00
floppy1 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
floppy0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -fda TEST_DIR/t.qcow2 -fdb TEST_DIR/t.qcow2.2
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
floppy1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2020-06-22 12:42:13 +03:00
Testing: -fdb
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
fdc: Reject clash between -drive if=floppy and -global isa-fdc
The floppy controller devices desugar their drive properties into
floppy devices (since commit a92bd191a4 "fdc: Move qdev properties to
FloppyDrive", v2.8.0). This involves some bad magic in
fdctrl_connect_drives(), and exists for backward compatibility.
The functions for boards to create floppy controller devices
fdctrl_init_isa(), fdctrl_init_sysbus(), and sun4m_fdctrl_init()
desugar -drive if=floppy to these floppy controller drive properties.
If you use both -drive if=floppy (or its -fda / -fdb sugar) and
-global isa-fdc for the same floppy device, -global silently loses the
conflict, and both backends involved end up with the floppy device
frontend attached, as demonstrated by iotest 172 (see commit before
previous). This is wrong.
Desugar -drive if=floppy straight to floppy devices instead, with
helper fdctrl_init_drives(). The conflict now gets rejected cleanly:
first, fdctrl_connect_drives() creates the floppy for the controller's
property, then fdctrl_init_drives() attempts to create the floppy for
-drive if=floppy, but fails because the unit is already in use.
Output of iotest 172 changes in three ways:
1. The clash gets rejected.
2. In one test case, "info qtree" has the floppy devices swapped, and
"info block" has their QOM paths swapped. This is because the
floppy device for -fda now gets created after the one for -global
isa-fdc.driveB.
3. The error message for -global floppy.drive=floppy0 changes. Before
the patch, we set isa-fdc.driveA to -fda's block backend, then
create the floppy device for it, then move the backend from
isa-fdc.driveA to floppy.drive. Floppy creation fails when
applying -global floppy.drive=floppy0, because floppy0 is still
attached to isa-fdc. After the patch, we create the floppy for
-fda, then set its drive property to floppy0. Now floppy creation
succeeds, but setting the drive property fails, because -global
already set it. Yes, this is exasperatingly complicated.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-5-armbru@redhat.com>
2020-06-22 12:42:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2020-06-22 12:42:13 +03:00
write-cache = "auto"
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2020-06-22 12:42:13 +03:00
drive-type = "288"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
fdc: Reject clash between -drive if=floppy and -global isa-fdc
The floppy controller devices desugar their drive properties into
floppy devices (since commit a92bd191a4 "fdc: Move qdev properties to
FloppyDrive", v2.8.0). This involves some bad magic in
fdctrl_connect_drives(), and exists for backward compatibility.
The functions for boards to create floppy controller devices
fdctrl_init_isa(), fdctrl_init_sysbus(), and sun4m_fdctrl_init()
desugar -drive if=floppy to these floppy controller drive properties.
If you use both -drive if=floppy (or its -fda / -fdb sugar) and
-global isa-fdc for the same floppy device, -global silently loses the
conflict, and both backends involved end up with the floppy device
frontend attached, as demonstrated by iotest 172 (see commit before
previous). This is wrong.
Desugar -drive if=floppy straight to floppy devices instead, with
helper fdctrl_init_drives(). The conflict now gets rejected cleanly:
first, fdctrl_connect_drives() creates the floppy for the controller's
property, then fdctrl_init_drives() attempts to create the floppy for
-drive if=floppy, but fails because the unit is already in use.
Output of iotest 172 changes in three ways:
1. The clash gets rejected.
2. In one test case, "info qtree" has the floppy devices swapped, and
"info block" has their QOM paths swapped. This is because the
floppy device for -fda now gets created after the one for -global
isa-fdc.driveB.
3. The error message for -global floppy.drive=floppy0 changes. Before
the patch, we set isa-fdc.driveA to -fda's block backend, then
create the floppy device for it, then move the backend from
isa-fdc.driveA to floppy.drive. Floppy creation fails when
applying -global floppy.drive=floppy0, because floppy0 is still
attached to isa-fdc. After the patch, we create the floppy for
-fda, then set its drive property to floppy0. Now floppy creation
succeeds, but setting the drive property fails, because -global
already set it. Yes, this is exasperatingly complicated.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-5-armbru@redhat.com>
2020-06-22 12:42:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2020-06-22 12:42:13 +03:00
write-cache = "auto"
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2020-06-22 12:42:13 +03:00
drive-type = "288"
2016-10-27 23:29:14 +03:00
=== Using -drive options ===
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2,index=1
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
2020-06-22 12:42:12 +03:00
floppy1 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
floppy0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=floppy,file=TEST_DIR/t.qcow2.2,index=1
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
floppy1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
=== Using -drive if=none and -device ===
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,unit=1
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0 -device floppy,drive=none1,unit=1
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
=== Mixing -fdX and -global ===
fdc: Reject clash between -drive if=floppy and -global isa-fdc
The floppy controller devices desugar their drive properties into
floppy devices (since commit a92bd191a4 "fdc: Move qdev properties to
FloppyDrive", v2.8.0). This involves some bad magic in
fdctrl_connect_drives(), and exists for backward compatibility.
The functions for boards to create floppy controller devices
fdctrl_init_isa(), fdctrl_init_sysbus(), and sun4m_fdctrl_init()
desugar -drive if=floppy to these floppy controller drive properties.
If you use both -drive if=floppy (or its -fda / -fdb sugar) and
-global isa-fdc for the same floppy device, -global silently loses the
conflict, and both backends involved end up with the floppy device
frontend attached, as demonstrated by iotest 172 (see commit before
previous). This is wrong.
Desugar -drive if=floppy straight to floppy devices instead, with
helper fdctrl_init_drives(). The conflict now gets rejected cleanly:
first, fdctrl_connect_drives() creates the floppy for the controller's
property, then fdctrl_init_drives() attempts to create the floppy for
-drive if=floppy, but fails because the unit is already in use.
Output of iotest 172 changes in three ways:
1. The clash gets rejected.
2. In one test case, "info qtree" has the floppy devices swapped, and
"info block" has their QOM paths swapped. This is because the
floppy device for -fda now gets created after the one for -global
isa-fdc.driveB.
3. The error message for -global floppy.drive=floppy0 changes. Before
the patch, we set isa-fdc.driveA to -fda's block backend, then
create the floppy device for it, then move the backend from
isa-fdc.driveA to floppy.drive. Floppy creation fails when
applying -global floppy.drive=floppy0, because floppy0 is still
attached to isa-fdc. After the patch, we create the floppy for
-fda, then set its drive property to floppy0. Now floppy creation
succeeds, but setting the drive property fails, because -global
already set it. Yes, this is exasperatingly complicated.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-5-armbru@redhat.com>
2020-06-22 12:42:15 +03:00
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0
2020-06-22 12:42:22 +03:00
QEMU_PROG: -global floppy.drive=... conflicts with drive=floppy0
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
2016-10-27 23:29:14 +03:00
=== Mixing -fdX and -device ===
2017-05-02 19:35:48 +03:00
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=1
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy1 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=0
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 1 (0x1)
drive = "floppy1"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy1 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=0
2016-10-27 23:29:14 +03:00
QEMU_PROG: -device floppy,drive=none0,unit=0: Floppy unit 0 is in use
2017-05-02 19:35:48 +03:00
Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=1
2016-10-27 23:29:14 +03:00
QEMU_PROG: -device floppy,drive=none0,unit=1: Floppy unit 1 is in use
=== Mixing -drive and -device ===
2017-05-02 19:35:48 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=1
2016-10-27 23:29:14 +03:00
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 1 (0x1)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
dev: floppy, id ""
unit = 0 (0x0)
drive = "floppy0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
2017-05-02 19:35:48 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device floppy,drive=none0,unit=0
2016-10-27 23:29:14 +03:00
QEMU_PROG: -device floppy,drive=none0,unit=0: Floppy unit 0 is in use
=== Mixing -global and -device ===
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global floppy.drive=none0 -device floppy,unit=0
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
fdc: Reject clash between -drive if=floppy and -global isa-fdc
The floppy controller devices desugar their drive properties into
floppy devices (since commit a92bd191a4 "fdc: Move qdev properties to
FloppyDrive", v2.8.0). This involves some bad magic in
fdctrl_connect_drives(), and exists for backward compatibility.
The functions for boards to create floppy controller devices
fdctrl_init_isa(), fdctrl_init_sysbus(), and sun4m_fdctrl_init()
desugar -drive if=floppy to these floppy controller drive properties.
If you use both -drive if=floppy (or its -fda / -fdb sugar) and
-global isa-fdc for the same floppy device, -global silently loses the
conflict, and both backends involved end up with the floppy device
frontend attached, as demonstrated by iotest 172 (see commit before
previous). This is wrong.
Desugar -drive if=floppy straight to floppy devices instead, with
helper fdctrl_init_drives(). The conflict now gets rejected cleanly:
first, fdctrl_connect_drives() creates the floppy for the controller's
property, then fdctrl_init_drives() attempts to create the floppy for
-drive if=floppy, but fails because the unit is already in use.
Output of iotest 172 changes in three ways:
1. The clash gets rejected.
2. In one test case, "info qtree" has the floppy devices swapped, and
"info block" has their QOM paths swapped. This is because the
floppy device for -fda now gets created after the one for -global
isa-fdc.driveB.
3. The error message for -global floppy.drive=floppy0 changes. Before
the patch, we set isa-fdc.driveA to -fda's block backend, then
create the floppy device for it, then move the backend from
isa-fdc.driveA to floppy.drive. Floppy creation fails when
applying -global floppy.drive=floppy0, because floppy0 is still
attached to isa-fdc. After the patch, we create the floppy for
-fda, then set its drive property to floppy0. Now floppy creation
succeeds, but setting the drive property fails, because -global
already set it. Yes, this is exasperatingly complicated.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-5-armbru@redhat.com>
2020-06-22 12:42:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
write-cache = "auto"
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
drive-type = "144"
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
2020-06-22 12:42:22 +03:00
QEMU_PROG: -device floppy,drive=none1,unit=0: -global floppy.drive=... conflicts with drive=none1
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
2016-10-27 23:29:14 +03:00
2020-06-22 12:42:13 +03:00
=== Attempt to use drive twice ===
Testing: -drive if=none -device floppy,drive=none0 -device floppy -device floppy,drive=none0
QEMU_PROG: -device floppy,drive=none0: Drive 'none0' is already in use by another device
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
Testing: -drive if=none -global floppy.drive=none0 -device floppy -device floppy
QEMU_PROG: -device floppy: can't apply global floppy.drive=none0: Drive 'none0' is already in use by another device
2020-06-22 12:42:13 +03:00
Testing: -fda -device floppy,drive=floppy0
QEMU_PROG: -device floppy,drive=floppy0: Drive 'floppy0' is already in use because it has been automatically connected to another device (did you need 'if=none' in the drive options?)
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
Testing: -fda -global floppy.drive=floppy0
2020-06-22 12:42:22 +03:00
QEMU_PROG: -global floppy.drive=... conflicts with drive=floppy0
iotests/172: Cover -global floppy.drive=...
Use of -global to set a default backend for non-singleton devices is a
bad idea. But as long as we permit it, we better test it.
Test output demonstrates we screw up when -global floppy clashes with
-fda or with -device floppy: according to "info qtree", only the
latter backend is attached, but according to "info block", both are.
Here's the clash with -device:
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0 -device floppy,drive=none1,unit=0
dev: isa-fdc, id ""
[...]
driveA = ""
driveB = ""
[...]
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
---> drive = "none1"
[...]
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Cache mode: writeback
none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
---> Attached to: /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
Cache mode: writeback
/machine/peripheral-anon/device[0] is the floppy created with -device.
Test output further demonstrates the "Drive 'FOO' is already in use
because it has been automatically connected to another device" error
message can be misleading. With '-fda "" -global
floppy.drive=floppy0', it's in use because -global reuses -fda's
backend. There is no other device involved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-4-armbru@redhat.com>
2020-06-22 12:42:14 +03:00
2020-06-22 12:42:13 +03:00
Testing: -device floppy,drive=floppy0
QEMU_PROG: -device floppy,drive=floppy0: Property 'floppy.drive' can't find value 'floppy0'
2016-10-27 23:29:14 +03:00
=== Too many floppy drives ===
2021-03-09 19:12:11 +03:00
Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -drive if=none,file=TEST_DIR/t.qcow2.3 -device floppy,drive=none0 -device floppy,drive=none1
2016-10-27 23:29:14 +03:00
QEMU_PROG: -device floppy,drive=none1: Can't create floppy unit 2, bus supports only 2 units
=== Creating an empty drive with anonymous BB ===
Testing: -device floppy
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = ""
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
Testing: -device floppy,drive-type=120
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = ""
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "120"
Testing: -device floppy,drive-type=144
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = ""
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
Testing: -device floppy,drive-type=288
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = ""
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
=== Try passing different drive size with image ===
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-type=120
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "120"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-type=288
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "288"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
=== Try passing different block sizes ===
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,logical_block_size=512
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,physical_block_size=512
dev: isa-fdc, id ""
iobase = 1008 (0x3f0)
irq = 6 (0x6)
dma = 2 (0x2)
fdtypeA = "auto"
fdtypeB = "auto"
fallback = "288"
bus: floppy-bus.0
type floppy-bus
dev: floppy, id ""
unit = 0 (0x0)
drive = "none0"
2021-07-05 16:04:57 +03:00
backend_defaults = "auto"
2020-05-29 01:55:15 +03:00
logical_block_size = 512 (512 B)
physical_block_size = 512 (512 B)
min_io_size = 0 (0 B)
opt_io_size = 0 (0 B)
discard_granularity = 4294967295 (4 GiB)
2016-10-27 23:29:14 +03:00
write-cache = "auto"
2017-01-24 15:58:00 +03:00
share-rw = false
2022-08-24 12:50:44 +03:00
account-invalid = "auto"
account-failed = "auto"
2016-10-27 23:29:14 +03:00
drive-type = "144"
2020-06-22 12:42:12 +03:00
none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
2020-12-16 12:52:05 +03:00
Attached to: /machine/peripheral-anon/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
Cache mode: writeback
ide1-cd0: [not inserted]
2020-12-16 12:52:05 +03:00
Attached to: /machine/unattached/device[N]
2020-06-22 12:42:12 +03:00
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
(qemu) quit
2016-10-27 23:29:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,logical_block_size=4096
2020-05-29 01:55:10 +03:00
QEMU_PROG: -device floppy,drive=none0,logical_block_size=4096: logical_block_size > physical_block_size not supported
2016-10-27 23:29:14 +03:00
Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,physical_block_size=1024
QEMU_PROG: -device floppy,drive=none0,physical_block_size=1024: Physical and logical block size must be 512 for floppy
=== Writethrough caching ===
Cache mode: writeback
Cache mode: writeback
Cache mode: writethrough
*** done