qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T
@ 2021-03-04 10:00 Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 1/3] fdc: Drop deprecated floppy configuration Markus Armbruster
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, libvir-list, jsnow, qemu-block, mreitz

v2:
* Rebased, straightforward conflict with commit f5d33dd51f
  "hw/block/fdc: Remove the check_media_rate property" resolved
* PATCH 2: Commit message fixed [Kevin]

Markus Armbruster (3):
  fdc: Drop deprecated floppy configuration
  fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common()
  blockdev: Drop deprecated bogus -drive interface type

 docs/system/deprecated.rst       |  33 --
 docs/system/removed-features.rst |  33 ++
 include/sysemu/blockdev.h        |   1 -
 blockdev.c                       |  37 +-
 hw/block/fdc.c                   |  73 +---
 softmmu/vl.c                     |   8 +-
 tests/qemu-iotests/172           |  31 +-
 tests/qemu-iotests/172.out       | 562 +------------------------------
 8 files changed, 59 insertions(+), 719 deletions(-)

-- 
2.26.2



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 10:00 [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T Markus Armbruster
@ 2021-03-04 10:00 ` Markus Armbruster
  2021-03-04 10:52   ` Daniel P. Berrangé
  2021-03-04 10:00 ` [PATCH v2 2/3] fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common() Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 3/3] blockdev: Drop deprecated bogus -drive interface type Markus Armbruster
  2 siblings, 1 reply; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, libvir-list, jsnow, qemu-block, mreitz

Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
configuring floppies with -global isa-fdc" (v5.1.0).

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 docs/system/deprecated.rst       |  26 --
 docs/system/removed-features.rst |  26 ++
 hw/block/fdc.c                   |  54 +--
 tests/qemu-iotests/172           |  31 +-
 tests/qemu-iotests/172.out       | 562 +------------------------------
 5 files changed, 30 insertions(+), 669 deletions(-)

diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 2fcac7861e..6a22bc07e2 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -94,32 +94,6 @@ QEMU 5.1 has three options:
       to the user to load all the images they need.
  3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
 
-``Configuring floppies with ``-global``
-'''''''''''''''''''''''''''''''''''''''
-
-Use ``-device floppy,...`` instead:
-::
-
-    -global isa-fdc.driveA=...
-    -global sysbus-fdc.driveA=...
-    -global SUNW,fdtwo.drive=...
-
-become
-::
-
-    -device floppy,unit=0,drive=...
-
-and
-::
-
-    -global isa-fdc.driveB=...
-    -global sysbus-fdc.driveB=...
-
-become
-::
-
-    -device floppy,unit=1,drive=...
-
 ``-drive`` with bogus interface type
 ''''''''''''''''''''''''''''''''''''
 
diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
index c8481cafbd..b0e7350408 100644
--- a/docs/system/removed-features.rst
+++ b/docs/system/removed-features.rst
@@ -38,6 +38,32 @@ or ``-display default,show-cursor=on`` instead.
 QEMU 5.0 introduced an alternative syntax to specify the size of the translation
 block cache, ``-accel tcg,tb-size=``.
 
+``Configuring floppies with ``-global`` (removed in 6.0)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Use ``-device floppy,...`` instead:
+::
+
+    -global isa-fdc.driveA=...
+    -global sysbus-fdc.driveA=...
+    -global SUNW,fdtwo.drive=...
+
+become
+::
+
+    -device floppy,unit=0,drive=...
+
+and
+::
+
+    -global isa-fdc.driveB=...
+    -global sysbus-fdc.driveB=...
+
+become
+::
+
+    -device floppy,unit=1,drive=...
+
 QEMU Machine Protocol (QMP) commands
 ------------------------------------
 
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 198940e737..f978ddf647 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -870,7 +870,6 @@ struct FDCtrl {
     uint8_t num_floppies;
     FDrive drives[MAX_FD];
     struct {
-        BlockBackend *blk;
         FloppyDriveType type;
     } qdev_for_drives[MAX_FD];
     int reset_sensei;
@@ -2517,56 +2516,12 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, DeviceState *fdc_dev,
 {
     unsigned int i;
     FDrive *drive;
-    DeviceState *dev;
-    BlockBackend *blk;
-    bool ok;
-    const char *fdc_name, *drive_suffix;
 
     for (i = 0; i < MAX_FD; i++) {
         drive = &fdctrl->drives[i];
         drive->fdctrl = fdctrl;
-
-        /* If the drive is not present, we skip creating the qdev device, but
-         * still have to initialise the controller. */
-        blk = fdctrl->qdev_for_drives[i].blk;
-        if (!blk) {
-            fd_init(drive);
-            fd_revalidate(drive);
-            continue;
-        }
-
-        fdc_name = object_get_typename(OBJECT(fdc_dev));
-        drive_suffix = !strcmp(fdc_name, "SUNW,fdtwo") ? "" : i ? "B" : "A";
-        warn_report("warning: property %s.drive%s is deprecated",
-                    fdc_name, drive_suffix);
-        error_printf("Use -device floppy,unit=%d,drive=... instead.\n", i);
-
-        dev = qdev_new("floppy");
-        qdev_prop_set_uint32(dev, "unit", i);
-        qdev_prop_set_enum(dev, "drive-type", fdctrl->qdev_for_drives[i].type);
-
-        /*
-         * Hack alert: we move the backend from the floppy controller
-         * device to the floppy device.  We first need to detach the
-         * controller, or else floppy_create()'s qdev_prop_set_drive()
-         * will die when it attaches floppy device.  We also need to
-         * take another reference so that blk_detach_dev() doesn't
-         * free blk while we still need it.
-         *
-         * The hack is probably a bad idea.
-         */
-        blk_ref(blk);
-        blk_detach_dev(blk, fdc_dev);
-        fdctrl->qdev_for_drives[i].blk = NULL;
-        ok = qdev_prop_set_drive_err(dev, "drive", blk, errp);
-        blk_unref(blk);
-        if (!ok) {
-            return;
-        }
-
-        if (!qdev_realize_and_unref(dev, &fdctrl->bus.bus, errp)) {
-            return;
-        }
+        fd_init(drive);
+        fd_revalidate(drive);
     }
 }
 
@@ -2882,8 +2837,6 @@ static Property isa_fdc_properties[] = {
     DEFINE_PROP_UINT32("iobase", FDCtrlISABus, iobase, 0x3f0),
     DEFINE_PROP_UINT32("irq", FDCtrlISABus, irq, 6),
     DEFINE_PROP_UINT32("dma", FDCtrlISABus, dma, 2),
-    DEFINE_PROP_DRIVE("driveA", FDCtrlISABus, state.qdev_for_drives[0].blk),
-    DEFINE_PROP_DRIVE("driveB", FDCtrlISABus, state.qdev_for_drives[1].blk),
     DEFINE_PROP_SIGNED("fdtypeA", FDCtrlISABus, state.qdev_for_drives[0].type,
                         FLOPPY_DRIVE_TYPE_AUTO, qdev_prop_fdc_drive_type,
                         FloppyDriveType),
@@ -2941,8 +2894,6 @@ static const VMStateDescription vmstate_sysbus_fdc ={
 };
 
 static Property sysbus_fdc_properties[] = {
-    DEFINE_PROP_DRIVE("driveA", FDCtrlSysBus, state.qdev_for_drives[0].blk),
-    DEFINE_PROP_DRIVE("driveB", FDCtrlSysBus, state.qdev_for_drives[1].blk),
     DEFINE_PROP_SIGNED("fdtypeA", FDCtrlSysBus, state.qdev_for_drives[0].type,
                         FLOPPY_DRIVE_TYPE_AUTO, qdev_prop_fdc_drive_type,
                         FloppyDriveType),
@@ -2971,7 +2922,6 @@ static const TypeInfo sysbus_fdc_info = {
 };
 
 static Property sun4m_fdc_properties[] = {
-    DEFINE_PROP_DRIVE("drive", FDCtrlSysBus, state.qdev_for_drives[0].blk),
     DEFINE_PROP_SIGNED("fdtype", FDCtrlSysBus, state.qdev_for_drives[0].type,
                         FLOPPY_DRIVE_TYPE_AUTO, qdev_prop_fdc_drive_type,
                         FloppyDriveType),
diff --git a/tests/qemu-iotests/172 b/tests/qemu-iotests/172
index 0ac942a6c5..ff269ca7b5 100755
--- a/tests/qemu-iotests/172
+++ b/tests/qemu-iotests/172
@@ -123,15 +123,6 @@ check_floppy_qtree -drive if=floppy,file="$TEST_IMG"
 check_floppy_qtree -drive if=floppy,file="$TEST_IMG",index=1
 check_floppy_qtree -drive if=floppy,file="$TEST_IMG" -drive if=floppy,file="$TEST_IMG.2",index=1
 
-echo
-echo
-echo === Using -drive if=none and -global ===
-
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -global isa-fdc.driveA=none0
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -global isa-fdc.driveB=none0
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveA=none0 -global isa-fdc.driveB=none1
-
 echo
 echo
 echo === Using -drive if=none and -device ===
@@ -145,13 +136,6 @@ echo
 echo
 echo === Mixing -fdX and -global ===
 
-# Working
-check_floppy_qtree -fda "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveB=none0
-check_floppy_qtree -fdb "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveA=none0
-
-# Conflicting
-check_floppy_qtree -fda "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveA=none0
-check_floppy_qtree -fdb "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global isa-fdc.driveB=none0
 # Conflicting, -fdX wins
 check_floppy_qtree -fda "$TEST_IMG" -drive if=none,file="$TEST_IMG.2" -global floppy.drive=none0
 
@@ -186,23 +170,10 @@ echo
 echo === Mixing -global and -device ===
 
 # Working
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveA=none0 -device floppy,drive=none1
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveA=none0 -device floppy,drive=none1,unit=1
-
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveB=none0 -device floppy,drive=none1
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=0
 check_floppy_qtree -drive if=none,file="$TEST_IMG" \
                    -global floppy.drive=none0 -device floppy,unit=0
 
 # Conflicting
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveA=none0 -device floppy,drive=none1,unit=0
-check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
-                   -global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=1
 check_floppy_qtree -drive if=none,file="$TEST_IMG" -drive if=none,file="$TEST_IMG.2" \
                    -global floppy.drive=none0 -device floppy,drive=none1,unit=0
 
@@ -227,7 +198,7 @@ echo === Too many floppy drives ===
 check_floppy_qtree -drive if=floppy,file="$TEST_IMG" \
                    -drive if=none,file="$TEST_IMG.2" \
                    -drive if=none,file="$TEST_IMG.3" \
-                   -global isa-fdc.driveB=none0 \
+                   -device floppy,drive=none0 \
                    -device floppy,drive=none1
 
 echo
diff --git a/tests/qemu-iotests/172.out b/tests/qemu-iotests/172.out
index 349ae51d6c..d53f61d0de 100644
--- a/tests/qemu-iotests/172.out
+++ b/tests/qemu-iotests/172.out
@@ -12,8 +12,6 @@ Testing:
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -41,8 +39,6 @@ Testing: -fda TEST_DIR/t.qcow2
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -80,8 +76,6 @@ Testing: -fdb TEST_DIR/t.qcow2
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -134,8 +128,6 @@ Testing: -fda TEST_DIR/t.qcow2 -fdb TEST_DIR/t.qcow2.2
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -189,8 +181,6 @@ Testing: -fdb
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -229,8 +219,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -268,8 +256,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2,index=1
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -322,8 +308,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=floppy,file=TEST_DIR/t
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -372,150 +356,6 @@ sd0: [not inserted]
 
 
 
-=== Using -drive if=none and -global ===
-
-Testing: -drive if=none,file=TEST_DIR/t.qcow2 -global isa-fdc.driveA=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 -global isa-fdc.driveB=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 isa-fdc.driveA=none0 -global isa-fdc.driveB=none1
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-
-sd0: [not inserted]
-    Removable device: not locked, tray closed
-(qemu) quit
-
-
-
 === Using -drive if=none and -device ===
 
 Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0
@@ -524,8 +364,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -563,8 +401,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,unit=1
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -602,8 +438,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qco
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -654,130 +488,6 @@ sd0: [not inserted]
 
 === Mixing -fdX and -global ===
 
-Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "floppy0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-floppy0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-
-sd0: [not inserted]
-    Removable device: not locked, tray closed
-(qemu) quit
-
-
-Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "floppy1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-floppy1 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none0 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-
-sd0: [not inserted]
-    Removable device: not locked, tray closed
-(qemu) quit
-
-
-Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-QEMU_PROG: Floppy unit 0 is in use
-
-Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-QEMU_PROG: Floppy unit 1 is in use
-
 Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global floppy.drive=none0
 QEMU_PROG: -global floppy.drive=... conflicts with drive=floppy0
 
@@ -790,8 +500,6 @@ Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -845,8 +553,6 @@ Testing: -fda TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -900,8 +606,6 @@ Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -955,8 +659,6 @@ Testing: -fdb TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -device fl
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1019,8 +721,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.q
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1074,8 +774,6 @@ Testing: -drive if=floppy,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.q
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1129,242 +827,12 @@ QEMU_PROG: -device floppy,drive=none0,unit=0: Floppy unit 0 is in use
 
 === Mixing -global and -device ===
 
-Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0 -device floppy,drive=none1
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/peripheral-anon/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 isa-fdc.driveA=none0 -device floppy,drive=none1,unit=1
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/peripheral-anon/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 isa-fdc.driveB=none0 -device floppy,drive=none1
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/peripheral-anon/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 isa-fdc.driveB=none0 -device floppy,drive=none1,unit=0
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-
-          dev: isa-fdc, id ""
-            iobase = 1008 (0x3f0)
-            irq = 6 (0x6)
-            dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
-            fdtypeA = "auto"
-            fdtypeB = "auto"
-            fallback = "288"
-            isa irq 6
-            bus: floppy-bus.0
-              type floppy-bus
-              dev: floppy, id ""
-                unit = 0 (0x0)
-                drive = "none1"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-              dev: floppy, id ""
-                unit = 1 (0x1)
-                drive = "none0"
-                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)
-                write-cache = "auto"
-                share-rw = false
-                drive-type = "144"
-none0 (NODE_NAME): TEST_DIR/t.qcow2 (qcow2)
-    Attached to:      /machine/unattached/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-none1 (NODE_NAME): TEST_DIR/t.qcow2.2 (qcow2)
-    Attached to:      /machine/peripheral-anon/device[N]
-    Removable device: not locked, tray closed
-    Cache mode:       writeback
-
-ide1-cd0: [not inserted]
-    Attached to:      /machine/unattached/device[N]
-    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 -global floppy.drive=none0 -device floppy,unit=0
 
           dev: isa-fdc, id ""
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1396,16 +864,6 @@ sd0: [not inserted]
 (qemu) quit
 
 
-Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveA=none0 -device floppy,drive=none1,unit=0
-QEMU_PROG: warning: warning: property isa-fdc.driveA is deprecated
-Use -device floppy,unit=0,drive=... instead.
-QEMU_PROG: -device floppy,drive=none1,unit=0: Floppy unit 0 is in use
-
-Testing: -drive if=none,file=TEST_DIR/t.qcow2 -drive if=none,file=TEST_DIR/t.qcow2.2 -global isa-fdc.driveB=none0 -device floppy,drive=none1,unit=1
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
-QEMU_PROG: -device floppy,drive=none1,unit=1: Floppy unit 1 is in use
-
 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
 QEMU_PROG: -device floppy,drive=none1,unit=0: -global floppy.drive=... conflicts with drive=none1
 
@@ -1430,9 +888,7 @@ QEMU_PROG: -device floppy,drive=floppy0: Property 'floppy.drive' can't find valu
 
 === Too many floppy drives ===
 
-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 -global isa-fdc.driveB=none0 -device floppy,drive=none1
-QEMU_PROG: warning: warning: property isa-fdc.driveB is deprecated
-Use -device floppy,unit=1,drive=... instead.
+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
 QEMU_PROG: -device floppy,drive=none1: Can't create floppy unit 2, bus supports only 2 units
 
 
@@ -1444,8 +900,6 @@ Testing: -device floppy
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1470,8 +924,6 @@ Testing: -device floppy,drive-type=120
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1496,8 +948,6 @@ Testing: -device floppy,drive-type=144
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1522,8 +972,6 @@ Testing: -device floppy,drive-type=288
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1551,8 +999,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-t
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1590,8 +1036,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,drive-t
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1632,8 +1076,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,logical
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
@@ -1671,8 +1113,6 @@ Testing: -drive if=none,file=TEST_DIR/t.qcow2 -device floppy,drive=none0,physica
             iobase = 1008 (0x3f0)
             irq = 6 (0x6)
             dma = 2 (0x2)
-            driveA = ""
-            driveB = ""
             fdtypeA = "auto"
             fdtypeB = "auto"
             fallback = "288"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 2/3] fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common()
  2021-03-04 10:00 [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 1/3] fdc: Drop deprecated floppy configuration Markus Armbruster
@ 2021-03-04 10:00 ` Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 3/3] blockdev: Drop deprecated bogus -drive interface type Markus Armbruster
  2 siblings, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, libvir-list, jsnow, qemu-block, mreitz

The previous commit rendered the name fdctrl_connect_drives() somewhat
misleading.  Get rid of it by inlining the (now pretty simple)
function into its only caller.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/block/fdc.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index f978ddf647..32701c2bc5 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -2511,20 +2511,6 @@ void isa_fdc_init_drives(ISADevice *fdc, DriveInfo **fds)
     fdctrl_init_drives(&ISA_FDC(fdc)->state.bus, fds);
 }
 
-static void fdctrl_connect_drives(FDCtrl *fdctrl, DeviceState *fdc_dev,
-                                  Error **errp)
-{
-    unsigned int i;
-    FDrive *drive;
-
-    for (i = 0; i < MAX_FD; i++) {
-        drive = &fdctrl->drives[i];
-        drive->fdctrl = fdctrl;
-        fd_init(drive);
-        fd_revalidate(drive);
-    }
-}
-
 void fdctrl_init_sysbus(qemu_irq irq, int dma_chann,
                         hwaddr mmio_base, DriveInfo **fds)
 {
@@ -2565,6 +2551,7 @@ static void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl,
                                   Error **errp)
 {
     int i, j;
+    FDrive *drive;
     static int command_tables_inited = 0;
 
     if (fdctrl->fallback == FLOPPY_DRIVE_TYPE_AUTO) {
@@ -2604,7 +2591,13 @@ static void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl,
     }
 
     floppy_bus_create(fdctrl, &fdctrl->bus, dev);
-    fdctrl_connect_drives(fdctrl, dev, errp);
+
+    for (i = 0; i < MAX_FD; i++) {
+        drive = &fdctrl->drives[i];
+        drive->fdctrl = fdctrl;
+        fd_init(drive);
+        fd_revalidate(drive);
+    }
 }
 
 static const MemoryRegionPortio fdc_portio_list[] = {
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 3/3] blockdev: Drop deprecated bogus -drive interface type
  2021-03-04 10:00 [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 1/3] fdc: Drop deprecated floppy configuration Markus Armbruster
  2021-03-04 10:00 ` [PATCH v2 2/3] fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common() Markus Armbruster
@ 2021-03-04 10:00 ` Markus Armbruster
  2 siblings, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 10:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, libvir-list, jsnow, qemu-block, mreitz

Drop the crap deprecated in commit a1b40bda08 "blockdev: Deprecate
-drive with bogus interface type" (v5.1.0).

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 docs/system/deprecated.rst       |  7 ------
 docs/system/removed-features.rst |  7 ++++++
 include/sysemu/blockdev.h        |  1 -
 blockdev.c                       | 37 +++++++++++++-------------------
 softmmu/vl.c                     |  8 +------
 5 files changed, 23 insertions(+), 37 deletions(-)

diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 6a22bc07e2..01c58f8e88 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -94,13 +94,6 @@ QEMU 5.1 has three options:
       to the user to load all the images they need.
  3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
 
-``-drive`` with bogus interface type
-''''''''''''''''''''''''''''''''''''
-
-Drives with interface types other than ``if=none`` are for onboard
-devices.  It is possible to use drives the board doesn't pick up with
--device.  This usage is now deprecated.  Use ``if=none`` instead.
-
 Short-form boolean options (since 6.0)
 ''''''''''''''''''''''''''''''''''''''
 
diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
index b0e7350408..a2b3a8a1ca 100644
--- a/docs/system/removed-features.rst
+++ b/docs/system/removed-features.rst
@@ -64,6 +64,13 @@ become
 
     -device floppy,unit=1,drive=...
 
+``-drive`` with bogus interface type (removed in 6.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Drives with interface types other than ``if=none`` are for onboard
+devices.  Drives the board doesn't pick up can no longer be used with
+-device.  Use ``if=none`` instead.
+
 QEMU Machine Protocol (QMP) commands
 ------------------------------------
 
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index 3b5fcda08d..32c2d6023c 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -35,7 +35,6 @@ struct DriveInfo {
     bool is_default;            /* Added by default_drive() ?  */
     int media_cd;
     QemuOpts *opts;
-    bool claimed_by_board;
     QTAILQ_ENTRY(DriveInfo) next;
 };
 
diff --git a/blockdev.c b/blockdev.c
index cd438e60e3..2e01889cff 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -240,19 +240,10 @@ DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit)
     return NULL;
 }
 
-void drive_mark_claimed_by_board(void)
-{
-    BlockBackend *blk;
-    DriveInfo *dinfo;
-
-    for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
-        dinfo = blk_legacy_dinfo(blk);
-        if (dinfo && blk_get_attached_dev(blk)) {
-            dinfo->claimed_by_board = true;
-        }
-    }
-}
-
+/*
+ * Check board claimed all -drive that are meant to be claimed.
+ * Fatal error if any remain unclaimed.
+ */
 void drive_check_orphaned(void)
 {
     BlockBackend *blk;
@@ -262,7 +253,17 @@ void drive_check_orphaned(void)
 
     for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
         dinfo = blk_legacy_dinfo(blk);
-        if (dinfo->is_default || dinfo->type == IF_NONE) {
+        /*
+         * Ignore default drives, because we create certain default
+         * drives unconditionally, then leave them unclaimed.  Not the
+         * users fault.
+         * Ignore IF_VIRTIO, because it gets desugared into -device,
+         * so we can leave failing to -device.
+         * Ignore IF_NONE, because leaving unclaimed IF_NONE remains
+         * available for device_add is a feature.
+         */
+        if (dinfo->is_default || dinfo->type == IF_VIRTIO
+            || dinfo->type == IF_NONE) {
             continue;
         }
         if (!blk_get_attached_dev(blk)) {
@@ -273,14 +274,6 @@ void drive_check_orphaned(void)
                          if_name[dinfo->type], dinfo->bus, dinfo->unit);
             loc_pop(&loc);
             orphans = true;
-            continue;
-        }
-        if (!dinfo->claimed_by_board && dinfo->type != IF_VIRTIO) {
-            loc_push_none(&loc);
-            qemu_opts_loc_restore(dinfo->opts);
-            warn_report("bogus if=%s is deprecated, use if=none",
-                        if_name[dinfo->type]);
-            loc_pop(&loc);
         }
     }
 
diff --git a/softmmu/vl.c b/softmmu/vl.c
index b219ce1f35..8097a7b5fb 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2461,13 +2461,7 @@ static void qemu_init_board(void)
     /* From here on we enter MACHINE_PHASE_INITIALIZED.  */
     machine_run_board_init(current_machine);
 
-    /*
-     * TODO To drop support for deprecated bogus if=..., move
-     * drive_check_orphaned() here, replacing this call.  Also drop
-     * its deprecation warning, along with DriveInfo member
-     * @claimed_by_board.
-     */
-    drive_mark_claimed_by_board();
+    drive_check_orphaned();
 
     realtime_init();
 
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 10:00 ` [PATCH v2 1/3] fdc: Drop deprecated floppy configuration Markus Armbruster
@ 2021-03-04 10:52   ` Daniel P. Berrangé
  2021-03-04 14:26     ` Markus Armbruster
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-03-04 10:52 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: kwolf, qemu-block, libvir-list, qemu-devel, mreitz, jsnow


On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
> configuring floppies with -global isa-fdc" (v5.1.0).
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  docs/system/deprecated.rst       |  26 --
>  docs/system/removed-features.rst |  26 ++
>  hw/block/fdc.c                   |  54 +--
>  tests/qemu-iotests/172           |  31 +-
>  tests/qemu-iotests/172.out       | 562 +------------------------------
>  5 files changed, 30 insertions(+), 669 deletions(-)
> 
> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> index 2fcac7861e..6a22bc07e2 100644
> --- a/docs/system/deprecated.rst
> +++ b/docs/system/deprecated.rst
> @@ -94,32 +94,6 @@ QEMU 5.1 has three options:
>        to the user to load all the images they need.
>   3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
>  
> -``Configuring floppies with ``-global``
> -'''''''''''''''''''''''''''''''''''''''
> -
> -Use ``-device floppy,...`` instead:
> -::
> -
> -    -global isa-fdc.driveA=...
> -    -global sysbus-fdc.driveA=...
> -    -global SUNW,fdtwo.drive=...
> -
> -become
> -::
> -
> -    -device floppy,unit=0,drive=...
> -
> -and
> -::
> -
> -    -global isa-fdc.driveB=...
> -    -global sysbus-fdc.driveB=...
> -
> -become
> -::
> -
> -    -device floppy,unit=1,drive=...
> -
>  ``-drive`` with bogus interface type
>  ''''''''''''''''''''''''''''''''''''
>  
> diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
> index c8481cafbd..b0e7350408 100644
> --- a/docs/system/removed-features.rst
> +++ b/docs/system/removed-features.rst
> @@ -38,6 +38,32 @@ or ``-display default,show-cursor=on`` instead.
>  QEMU 5.0 introduced an alternative syntax to specify the size of the translation
>  block cache, ``-accel tcg,tb-size=``.
>  
> +``Configuring floppies with ``-global`` (removed in 6.0)
> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +Use ``-device floppy,...`` instead:
> +::
> +
> +    -global isa-fdc.driveA=...
> +    -global sysbus-fdc.driveA=...
> +    -global SUNW,fdtwo.drive=...

It looks like we're not actually removing the use of -global, rather
we're removing the driveA= and driveB= properties entirely, which
simply means there's nothing to be set via -global. The distinction
is important, because IIUC, it means that libvirt's use of these
properties via -device is also impacted eg

  -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1

will no longer work too ?


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 10:52   ` Daniel P. Berrangé
@ 2021-03-04 14:26     ` Markus Armbruster
  2021-03-04 14:34       ` Daniel P. Berrangé
  2021-03-05  8:06       ` Markus Armbruster
  0 siblings, 2 replies; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 14:26 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: kwolf, qemu-block, libvir-list, qemu-devel, mreitz, jsnow

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
>> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
>> configuring floppies with -global isa-fdc" (v5.1.0).
>> 
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  docs/system/deprecated.rst       |  26 --
>>  docs/system/removed-features.rst |  26 ++
>>  hw/block/fdc.c                   |  54 +--
>>  tests/qemu-iotests/172           |  31 +-
>>  tests/qemu-iotests/172.out       | 562 +------------------------------
>>  5 files changed, 30 insertions(+), 669 deletions(-)
>> 
>> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
>> index 2fcac7861e..6a22bc07e2 100644
>> --- a/docs/system/deprecated.rst
>> +++ b/docs/system/deprecated.rst
>> @@ -94,32 +94,6 @@ QEMU 5.1 has three options:
>>        to the user to load all the images they need.
>>   3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
>>  
>> -``Configuring floppies with ``-global``
>> -'''''''''''''''''''''''''''''''''''''''
>> -
>> -Use ``-device floppy,...`` instead:
>> -::
>> -
>> -    -global isa-fdc.driveA=...
>> -    -global sysbus-fdc.driveA=...
>> -    -global SUNW,fdtwo.drive=...
>> -
>> -become
>> -::
>> -
>> -    -device floppy,unit=0,drive=...
>> -
>> -and
>> -::
>> -
>> -    -global isa-fdc.driveB=...
>> -    -global sysbus-fdc.driveB=...
>> -
>> -become
>> -::
>> -
>> -    -device floppy,unit=1,drive=...
>> -
>>  ``-drive`` with bogus interface type
>>  ''''''''''''''''''''''''''''''''''''
>>  
>> diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
>> index c8481cafbd..b0e7350408 100644
>> --- a/docs/system/removed-features.rst
>> +++ b/docs/system/removed-features.rst
>> @@ -38,6 +38,32 @@ or ``-display default,show-cursor=on`` instead.
>>  QEMU 5.0 introduced an alternative syntax to specify the size of the translation
>>  block cache, ``-accel tcg,tb-size=``.
>>  
>> +``Configuring floppies with ``-global`` (removed in 6.0)
>> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>> +
>> +Use ``-device floppy,...`` instead:
>> +::
>> +
>> +    -global isa-fdc.driveA=...
>> +    -global sysbus-fdc.driveA=...
>> +    -global SUNW,fdtwo.drive=...
>
> It looks like we're not actually removing the use of -global, rather
> we're removing the driveA= and driveB= properties entirely, which
> simply means there's nothing to be set via -global. The distinction
> is important, because IIUC, it means that libvirt's use of these
> properties via -device is also impacted eg
>
>   -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1
>
> will no longer work too ?

Correct.

This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
warning:

    $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
    qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
    Use -device floppy,unit=0,drive=... instead.

Note the -M q35.  Needed because the default machine type has an onboard
isa-fdc, which cannot be configured this way.

Sadly, the commit's update of docs/system/deprecated.rst neglects to
cover this use.  Looks the series overtaxed my capacity to juggle
details; my apologies.

Is libvirt still using these properties?



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 14:26     ` Markus Armbruster
@ 2021-03-04 14:34       ` Daniel P. Berrangé
  2021-03-04 16:23         ` Markus Armbruster
  2021-03-05  8:06       ` Markus Armbruster
  1 sibling, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-03-04 14:34 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: kwolf, qemu-block, libvir-list, qemu-devel, mreitz, jsnow

On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
> >> configuring floppies with -global isa-fdc" (v5.1.0).
> >> 
> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> >> ---
> >>  docs/system/deprecated.rst       |  26 --
> >>  docs/system/removed-features.rst |  26 ++
> >>  hw/block/fdc.c                   |  54 +--
> >>  tests/qemu-iotests/172           |  31 +-
> >>  tests/qemu-iotests/172.out       | 562 +------------------------------
> >>  5 files changed, 30 insertions(+), 669 deletions(-)
> >> 
> >> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> >> index 2fcac7861e..6a22bc07e2 100644
> >> --- a/docs/system/deprecated.rst
> >> +++ b/docs/system/deprecated.rst
> >> @@ -94,32 +94,6 @@ QEMU 5.1 has three options:
> >>        to the user to load all the images they need.
> >>   3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
> >>  
> >> -``Configuring floppies with ``-global``
> >> -'''''''''''''''''''''''''''''''''''''''
> >> -
> >> -Use ``-device floppy,...`` instead:
> >> -::
> >> -
> >> -    -global isa-fdc.driveA=...
> >> -    -global sysbus-fdc.driveA=...
> >> -    -global SUNW,fdtwo.drive=...
> >> -
> >> -become
> >> -::
> >> -
> >> -    -device floppy,unit=0,drive=...
> >> -
> >> -and
> >> -::
> >> -
> >> -    -global isa-fdc.driveB=...
> >> -    -global sysbus-fdc.driveB=...
> >> -
> >> -become
> >> -::
> >> -
> >> -    -device floppy,unit=1,drive=...
> >> -
> >>  ``-drive`` with bogus interface type
> >>  ''''''''''''''''''''''''''''''''''''
> >>  
> >> diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
> >> index c8481cafbd..b0e7350408 100644
> >> --- a/docs/system/removed-features.rst
> >> +++ b/docs/system/removed-features.rst
> >> @@ -38,6 +38,32 @@ or ``-display default,show-cursor=on`` instead.
> >>  QEMU 5.0 introduced an alternative syntax to specify the size of the translation
> >>  block cache, ``-accel tcg,tb-size=``.
> >>  
> >> +``Configuring floppies with ``-global`` (removed in 6.0)
> >> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> >> +
> >> +Use ``-device floppy,...`` instead:
> >> +::
> >> +
> >> +    -global isa-fdc.driveA=...
> >> +    -global sysbus-fdc.driveA=...
> >> +    -global SUNW,fdtwo.drive=...
> >
> > It looks like we're not actually removing the use of -global, rather
> > we're removing the driveA= and driveB= properties entirely, which
> > simply means there's nothing to be set via -global. The distinction
> > is important, because IIUC, it means that libvirt's use of these
> > properties via -device is also impacted eg
> >
> >   -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1
> >
> > will no longer work too ?
> 
> Correct.
> 
> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
> floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
> warning:
> 
>     $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
>     qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
>     Use -device floppy,unit=0,drive=... instead.
> 
> Note the -M q35.  Needed because the default machine type has an onboard
> isa-fdc, which cannot be configured this way.
> 
> Sadly, the commit's update of docs/system/deprecated.rst neglects to
> cover this use.  Looks the series overtaxed my capacity to juggle
> details; my apologies.
> 
> Is libvirt still using these properties?

Unfortunately yes, but it seems like it ought to be fairly easy to
change the syntax. Just need to figure out what the right way to
detect the availability of the new syntax is. Presumably just look
for existance of the 'floppy' device type ?

Can you confirm that switching from -global to the new -device floppy
does /not/ have any live migration impact ?


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 14:34       ` Daniel P. Berrangé
@ 2021-03-04 16:23         ` Markus Armbruster
  2021-03-04 16:52           ` Peter Krempa
  0 siblings, 1 reply; 13+ messages in thread
From: Markus Armbruster @ 2021-03-04 16:23 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: kwolf, qemu-block, libvir-list, qemu-devel, mreitz, jsnow

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>> 
>> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
>> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
>> >> configuring floppies with -global isa-fdc" (v5.1.0).
>> >> 
>> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> >> ---
>> >>  docs/system/deprecated.rst       |  26 --
>> >>  docs/system/removed-features.rst |  26 ++
>> >>  hw/block/fdc.c                   |  54 +--
>> >>  tests/qemu-iotests/172           |  31 +-
>> >>  tests/qemu-iotests/172.out       | 562 +------------------------------
>> >>  5 files changed, 30 insertions(+), 669 deletions(-)
>> >> 
>> >> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
>> >> index 2fcac7861e..6a22bc07e2 100644
>> >> --- a/docs/system/deprecated.rst
>> >> +++ b/docs/system/deprecated.rst
>> >> @@ -94,32 +94,6 @@ QEMU 5.1 has three options:
>> >>        to the user to load all the images they need.
>> >>   3. ``-bios <file>`` - Tells QEMU to load the specified file as the firmwrae.
>> >>  
>> >> -``Configuring floppies with ``-global``
>> >> -'''''''''''''''''''''''''''''''''''''''
>> >> -
>> >> -Use ``-device floppy,...`` instead:
>> >> -::
>> >> -
>> >> -    -global isa-fdc.driveA=...
>> >> -    -global sysbus-fdc.driveA=...
>> >> -    -global SUNW,fdtwo.drive=...
>> >> -
>> >> -become
>> >> -::
>> >> -
>> >> -    -device floppy,unit=0,drive=...
>> >> -
>> >> -and
>> >> -::
>> >> -
>> >> -    -global isa-fdc.driveB=...
>> >> -    -global sysbus-fdc.driveB=...
>> >> -
>> >> -become
>> >> -::
>> >> -
>> >> -    -device floppy,unit=1,drive=...
>> >> -
>> >>  ``-drive`` with bogus interface type
>> >>  ''''''''''''''''''''''''''''''''''''
>> >>  
>> >> diff --git a/docs/system/removed-features.rst b/docs/system/removed-features.rst
>> >> index c8481cafbd..b0e7350408 100644
>> >> --- a/docs/system/removed-features.rst
>> >> +++ b/docs/system/removed-features.rst
>> >> @@ -38,6 +38,32 @@ or ``-display default,show-cursor=on`` instead.
>> >>  QEMU 5.0 introduced an alternative syntax to specify the size of the translation
>> >>  block cache, ``-accel tcg,tb-size=``.
>> >>  
>> >> +``Configuring floppies with ``-global`` (removed in 6.0)
>> >> +''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>> >> +
>> >> +Use ``-device floppy,...`` instead:
>> >> +::
>> >> +
>> >> +    -global isa-fdc.driveA=...
>> >> +    -global sysbus-fdc.driveA=...
>> >> +    -global SUNW,fdtwo.drive=...
>> >
>> > It looks like we're not actually removing the use of -global, rather
>> > we're removing the driveA= and driveB= properties entirely, which
>> > simply means there's nothing to be set via -global. The distinction
>> > is important, because IIUC, it means that libvirt's use of these
>> > properties via -device is also impacted eg
>> >
>> >   -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1
>> >
>> > will no longer work too ?
>> 
>> Correct.
>> 
>> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
>> floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
>> warning:
>> 
>>     $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
>>     qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
>>     Use -device floppy,unit=0,drive=... instead.
>> 
>> Note the -M q35.  Needed because the default machine type has an onboard
>> isa-fdc, which cannot be configured this way.
>> 
>> Sadly, the commit's update of docs/system/deprecated.rst neglects to
>> cover this use.  Looks the series overtaxed my capacity to juggle
>> details; my apologies.
>> 
>> Is libvirt still using these properties?
>
> Unfortunately yes, but it seems like it ought to be fairly easy to
> change the syntax. Just need to figure out what the right way to
> detect the availability of the new syntax is. Presumably just look
> for existance of the 'floppy' device type ?

Yes.  The device type was added in merge commit fd209e4a7, v2.8.0.

> Can you confirm that switching from -global to the new -device floppy
> does /not/ have any live migration impact ?

Yes, it must not affect migration.

When Kevin split the floppy device type off the floppy controller, he
had to add some moderately ugly hackery to keep the old qdev properties
working.  Think propagate property values to floppy from controller,
which otherwise ignores them.

The way you get the values into the floppy device cannot affect the
migration data.  Only different values can.

This patch removes a deprecated way.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 16:23         ` Markus Armbruster
@ 2021-03-04 16:52           ` Peter Krempa
  2021-03-04 16:54             ` Daniel P. Berrangé
  2021-03-05  6:41             ` Markus Armbruster
  0 siblings, 2 replies; 13+ messages in thread
From: Peter Krempa @ 2021-03-04 16:52 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: kwolf, Daniel P. Berrangé,
	qemu-block, libvir-list, qemu-devel, mreitz, jsnow

On Thu, Mar 04, 2021 at 17:23:05 +0100, Markus Armbruster wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
> >> Daniel P. Berrangé <berrange@redhat.com> writes:
> >> 
> >> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
> >> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
> >> >> configuring floppies with -global isa-fdc" (v5.1.0).
> >> >> 
> >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> >> >> ---
> >> >>  docs/system/deprecated.rst       |  26 --
> >> >>  docs/system/removed-features.rst |  26 ++
> >> >>  hw/block/fdc.c                   |  54 +--
> >> >>  tests/qemu-iotests/172           |  31 +-
> >> >>  tests/qemu-iotests/172.out       | 562 +------------------------------
> >> >>  5 files changed, 30 insertions(+), 669 deletions(-)

[...]

> >> 
> >> Correct.
> >> 
> >> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
> >> floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
> >> warning:
> >> 
> >>     $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
> >>     qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
> >>     Use -device floppy,unit=0,drive=... instead.
> >> 
> >> Note the -M q35.  Needed because the default machine type has an onboard
> >> isa-fdc, which cannot be configured this way.
> >> 
> >> Sadly, the commit's update of docs/system/deprecated.rst neglects to
> >> cover this use.  Looks the series overtaxed my capacity to juggle
> >> details; my apologies.
> >> 
> >> Is libvirt still using these properties?
> >
> > Unfortunately yes, but it seems like it ought to be fairly easy to
> > change the syntax. Just need to figure out what the right way to
> > detect the availability of the new syntax is. Presumably just look
> > for existance of the 'floppy' device type ?
> 
> Yes.  The device type was added in merge commit fd209e4a7, v2.8.0.
> 
> > Can you confirm that switching from -global to the new -device floppy
> > does /not/ have any live migration impact ?
> 
> Yes, it must not affect migration.
> 
> When Kevin split the floppy device type off the floppy controller, he
> had to add some moderately ugly hackery to keep the old qdev properties
> working.  Think propagate property values to floppy from controller,
> which otherwise ignores them.
> 
> The way you get the values into the floppy device cannot affect the
> migration data.  Only different values can.
> 
> This patch removes a deprecated way.

Note that when QEMU_CAPS_BLOCKDEV is asserted we format floppies as:

-blockdev '{"driver":"file","filename":"/tmp/firmware.img",\
"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\
"file":"libvirt-2-storage"}' \
-device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \
-blockdev '{"driver":"file","filename":"/tmp/data.img",\
"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\
"file":"libvirt-1-storage"}' \
-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \

as visible in the test file:

tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args

So libvirt should be in the clear. isa-fdc with driveA/driveB is
formatted only when the blockdev capability isn't present.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 16:52           ` Peter Krempa
@ 2021-03-04 16:54             ` Daniel P. Berrangé
  2021-03-05  6:41             ` Markus Armbruster
  1 sibling, 0 replies; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-03-04 16:54 UTC (permalink / raw)
  To: Peter Krempa
  Cc: kwolf, qemu-devel, qemu-block, libvir-list, Markus Armbruster,
	mreitz, jsnow

On Thu, Mar 04, 2021 at 05:52:50PM +0100, Peter Krempa wrote:
> On Thu, Mar 04, 2021 at 17:23:05 +0100, Markus Armbruster wrote:
> > Daniel P. Berrangé <berrange@redhat.com> writes:
> > 
> > > On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
> > >> Daniel P. Berrangé <berrange@redhat.com> writes:
> > >> 
> > >> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
> > >> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
> > >> >> configuring floppies with -global isa-fdc" (v5.1.0).
> > >> >> 
> > >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> > >> >> ---
> > >> >>  docs/system/deprecated.rst       |  26 --
> > >> >>  docs/system/removed-features.rst |  26 ++
> > >> >>  hw/block/fdc.c                   |  54 +--
> > >> >>  tests/qemu-iotests/172           |  31 +-
> > >> >>  tests/qemu-iotests/172.out       | 562 +------------------------------
> > >> >>  5 files changed, 30 insertions(+), 669 deletions(-)
> 
> [...]
> 
> > >> 
> > >> Correct.
> > >> 
> > >> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
> > >> floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
> > >> warning:
> > >> 
> > >>     $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
> > >>     qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
> > >>     Use -device floppy,unit=0,drive=... instead.
> > >> 
> > >> Note the -M q35.  Needed because the default machine type has an onboard
> > >> isa-fdc, which cannot be configured this way.
> > >> 
> > >> Sadly, the commit's update of docs/system/deprecated.rst neglects to
> > >> cover this use.  Looks the series overtaxed my capacity to juggle
> > >> details; my apologies.
> > >> 
> > >> Is libvirt still using these properties?
> > >
> > > Unfortunately yes, but it seems like it ought to be fairly easy to
> > > change the syntax. Just need to figure out what the right way to
> > > detect the availability of the new syntax is. Presumably just look
> > > for existance of the 'floppy' device type ?
> > 
> > Yes.  The device type was added in merge commit fd209e4a7, v2.8.0.
> > 
> > > Can you confirm that switching from -global to the new -device floppy
> > > does /not/ have any live migration impact ?
> > 
> > Yes, it must not affect migration.
> > 
> > When Kevin split the floppy device type off the floppy controller, he
> > had to add some moderately ugly hackery to keep the old qdev properties
> > working.  Think propagate property values to floppy from controller,
> > which otherwise ignores them.
> > 
> > The way you get the values into the floppy device cannot affect the
> > migration data.  Only different values can.
> > 
> > This patch removes a deprecated way.
> 
> Note that when QEMU_CAPS_BLOCKDEV is asserted we format floppies as:
> 
> -blockdev '{"driver":"file","filename":"/tmp/firmware.img",\
> "node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
> -blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\
> "file":"libvirt-2-storage"}' \
> -device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \
> -blockdev '{"driver":"file","filename":"/tmp/data.img",\
> "node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
> -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\
> "file":"libvirt-1-storage"}' \
> -device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \
> 
> as visible in the test file:
> 
> tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
> 
> So libvirt should be in the clear. isa-fdc with driveA/driveB is
> formatted only when the blockdev capability isn't present.

Ahh, excellant, I missed that detailed and worried that we still had
work todo.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 16:52           ` Peter Krempa
  2021-03-04 16:54             ` Daniel P. Berrangé
@ 2021-03-05  6:41             ` Markus Armbruster
  1 sibling, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2021-03-05  6:41 UTC (permalink / raw)
  To: Peter Krempa
  Cc: kwolf, Daniel P. Berrangé,
	qemu-block, libvir-list, qemu-devel, mreitz, jsnow

Peter Krempa <pkrempa@redhat.com> writes:

> On Thu, Mar 04, 2021 at 17:23:05 +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>> 
>> > On Thu, Mar 04, 2021 at 03:26:55PM +0100, Markus Armbruster wrote:
>> >> Daniel P. Berrangé <berrange@redhat.com> writes:
>> >> 
>> >> > On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
>> >> >> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
>> >> >> configuring floppies with -global isa-fdc" (v5.1.0).
>> >> >> 
>> >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> >> >> ---
>> >> >>  docs/system/deprecated.rst       |  26 --
>> >> >>  docs/system/removed-features.rst |  26 ++
>> >> >>  hw/block/fdc.c                   |  54 +--
>> >> >>  tests/qemu-iotests/172           |  31 +-
>> >> >>  tests/qemu-iotests/172.out       | 562 +------------------------------
>> >> >>  5 files changed, 30 insertions(+), 669 deletions(-)
>
> [...]
>
>> >> 
>> >> Correct.
>> >> 
>> >> This was deprecated in commit 4a27a638e7 "fdc: Deprecate configuring
>> >> floppies with -global isa-fdc" (v5.1.0).  Since then, its use triggers a
>> >> warning:
>> >> 
>> >>     $ qemu-system-x86_64 -nodefaults -M q35 -display none -drive if=none,id=drive-fdc0-0-0 -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1
>> >>     qemu-system-x86_64: -device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1: warning: warning: property isa-fdc.driveA is deprecated
>> >>     Use -device floppy,unit=0,drive=... instead.
>> >> 
>> >> Note the -M q35.  Needed because the default machine type has an onboard
>> >> isa-fdc, which cannot be configured this way.
>> >> 
>> >> Sadly, the commit's update of docs/system/deprecated.rst neglects to
>> >> cover this use.  Looks the series overtaxed my capacity to juggle
>> >> details; my apologies.
>> >> 
>> >> Is libvirt still using these properties?
>> >
>> > Unfortunately yes, but it seems like it ought to be fairly easy to
>> > change the syntax. Just need to figure out what the right way to
>> > detect the availability of the new syntax is. Presumably just look
>> > for existance of the 'floppy' device type ?
>> 
>> Yes.  The device type was added in merge commit fd209e4a7, v2.8.0.
>> 
>> > Can you confirm that switching from -global to the new -device floppy
>> > does /not/ have any live migration impact ?
>> 
>> Yes, it must not affect migration.
>> 
>> When Kevin split the floppy device type off the floppy controller, he
>> had to add some moderately ugly hackery to keep the old qdev properties
>> working.  Think propagate property values to floppy from controller,
>> which otherwise ignores them.
>> 
>> The way you get the values into the floppy device cannot affect the
>> migration data.  Only different values can.
>> 
>> This patch removes a deprecated way.
>
> Note that when QEMU_CAPS_BLOCKDEV is asserted we format floppies as:
>
> -blockdev '{"driver":"file","filename":"/tmp/firmware.img",\
> "node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
> -blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\
> "file":"libvirt-2-storage"}' \
> -device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \
> -blockdev '{"driver":"file","filename":"/tmp/data.img",\
> "node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
> -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\
> "file":"libvirt-1-storage"}' \
> -device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \
>
> as visible in the test file:
>
> tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
>
> So libvirt should be in the clear. isa-fdc with driveA/driveB is
> formatted only when the blockdev capability isn't present.

Even better: in the clear for some time already, which means a wider
range of libvirt versions keeps working with the latest QEMU.  Nice,
because keeping the coupling reasonably lose makes upgrading easier.

Thanks!



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-04 14:26     ` Markus Armbruster
  2021-03-04 14:34       ` Daniel P. Berrangé
@ 2021-03-05  8:06       ` Markus Armbruster
  2021-03-08 11:23         ` Daniel P. Berrangé
  1 sibling, 1 reply; 13+ messages in thread
From: Markus Armbruster @ 2021-03-05  8:06 UTC (permalink / raw)
  To: qemu-devel
  Cc: kwolf, Daniel P. Berrangé, qemu-block, libvir-list, mreitz, jsnow

Markus Armbruster <armbru@redhat.com> writes:

> Daniel P. Berrangé <berrange@redhat.com> writes:
>
>> On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
>>> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
>>> configuring floppies with -global isa-fdc" (v5.1.0).
>>> 
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
[...]
> Sadly, the commit's update of docs/system/deprecated.rst neglects to
> cover this use.  Looks the series overtaxed my capacity to juggle
> details; my apologies.
[...]

I'm talking about commit 4a27a638e7 here.

The deprecated.rst text only covers setting floppy controller properties
with -global.  It neglects to cover setting them with -device.  For
onboard controllers, -global is the only way to set them.

I append a fixup.

We can put it before this patch.  This patch then moves the fixed up
text to removed-features.rst.

Or we squash it into this patch, i.e. this patch deletes the flawed text
from deprecated.rst and adds the fixed up text to removed-features.rst.

Got a preference?



diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 2fcac7861e..393ede47f1 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -97,7 +97,11 @@ QEMU 5.1 has three options:
 ``Configuring floppies with ``-global``
 '''''''''''''''''''''''''''''''''''''''
 
-Use ``-device floppy,...`` instead:
+Floppy controllers' drive properties (since 5.1)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Use ``-device floppy,...`` instead.  When configuring onboard floppy
+controllers
 ::
 
     -global isa-fdc.driveA=...
@@ -120,8 +124,30 @@ become
 
     -device floppy,unit=1,drive=...
 
-``-drive`` with bogus interface type
-''''''''''''''''''''''''''''''''''''
+When plugging in a floppy controller
+::
+
+    -device isa-fdc,...,driveA=...
+
+becomes
+::
+
+    -device isa-fdc,...
+    -device floppy,unit=0,drive=...
+
+and
+::
+
+    -device isa-fdc,...,driveB=...
+
+becomes
+::
+
+    -device isa-fdc,...
+    -device floppy,unit=1,drive=...
+
+``-drive`` with bogus interface type (since 5.1)
+''''''''''''''''''''''''''''''''''''''''''''''''
 
 Drives with interface types other than ``if=none`` are for onboard
 devices.  It is possible to use drives the board doesn't pick up with



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 1/3] fdc: Drop deprecated floppy configuration
  2021-03-05  8:06       ` Markus Armbruster
@ 2021-03-08 11:23         ` Daniel P. Berrangé
  0 siblings, 0 replies; 13+ messages in thread
From: Daniel P. Berrangé @ 2021-03-08 11:23 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: kwolf, qemu-block, libvir-list, qemu-devel, mreitz, jsnow

On Fri, Mar 05, 2021 at 09:06:45AM +0100, Markus Armbruster wrote:
> Markus Armbruster <armbru@redhat.com> writes:
> 
> > Daniel P. Berrangé <berrange@redhat.com> writes:
> >
> >> On Thu, Mar 04, 2021 at 11:00:57AM +0100, Markus Armbruster wrote:
> >>> Drop the crap deprecated in commit 4a27a638e7 "fdc: Deprecate
> >>> configuring floppies with -global isa-fdc" (v5.1.0).
> >>> 
> >>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> [...]
> > Sadly, the commit's update of docs/system/deprecated.rst neglects to
> > cover this use.  Looks the series overtaxed my capacity to juggle
> > details; my apologies.
> [...]
> 
> I'm talking about commit 4a27a638e7 here.
> 
> The deprecated.rst text only covers setting floppy controller properties
> with -global.  It neglects to cover setting them with -device.  For
> onboard controllers, -global is the only way to set them.
> 
> I append a fixup.
> 
> We can put it before this patch.  This patch then moves the fixed up
> text to removed-features.rst.
> 
> Or we squash it into this patch, i.e. this patch deletes the flawed text
> from deprecated.rst and adds the fixed up text to removed-features.rst.
> 
> Got a preference?

I'm fine with either option. It isn't unusual to tweak the text when
moving it to the removed-features.rst file, as we'll be talking about
the past rather than future.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-03-08 11:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-04 10:00 [PATCH v2 0/3] Drop deprecated floppy config & bogus -drive if=T Markus Armbruster
2021-03-04 10:00 ` [PATCH v2 1/3] fdc: Drop deprecated floppy configuration Markus Armbruster
2021-03-04 10:52   ` Daniel P. Berrangé
2021-03-04 14:26     ` Markus Armbruster
2021-03-04 14:34       ` Daniel P. Berrangé
2021-03-04 16:23         ` Markus Armbruster
2021-03-04 16:52           ` Peter Krempa
2021-03-04 16:54             ` Daniel P. Berrangé
2021-03-05  6:41             ` Markus Armbruster
2021-03-05  8:06       ` Markus Armbruster
2021-03-08 11:23         ` Daniel P. Berrangé
2021-03-04 10:00 ` [PATCH v2 2/3] fdc: Inline fdctrl_connect_drives() into fdctrl_realize_common() Markus Armbruster
2021-03-04 10:00 ` [PATCH v2 3/3] blockdev: Drop deprecated bogus -drive interface type Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).