[PATCH 0/3] qemu: Replace usb-storage with usb-bot

Akihiko Odaki posted 3 patches 4 days, 1 hour ago
src/qemu/qemu_alias.c                              |   3 +-
src/qemu/qemu_capabilities.c                       |  19 +-
src/qemu/qemu_capabilities.h                       |   3 +-
src/qemu/qemu_command.c                            |  55 +++++-
src/qemu/qemu_command.h                            |   5 +
src/qemu/qemu_hotplug.c                            |  34 +++-
src/qemu/qemu_validate.c                           |   4 +-
.../qemucapabilitiesdata/caps_10.0.0_s390x.replies | 186 ++++---------------
tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml   |   2 +-
.../caps_10.0.0_x86_64.replies                     | 206 +++++----------------
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml  |   2 +-
.../caps_5.2.0_aarch64.replies                     | 174 ++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml  |   2 +-
.../qemucapabilitiesdata/caps_5.2.0_ppc64.replies  | 178 +++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml    |   2 +-
.../caps_5.2.0_riscv64.replies                     | 170 ++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml  |   2 +-
.../qemucapabilitiesdata/caps_5.2.0_x86_64.replies | 190 +++++--------------
tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml   |   2 +-
.../caps_6.0.0_aarch64.replies                     | 172 ++++-------------
tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml  |   2 +-
.../qemucapabilitiesdata/caps_6.0.0_x86_64.replies | 188 +++++--------------
tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml   |   2 +-
.../qemucapabilitiesdata/caps_6.1.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml   |   2 +-
.../caps_6.2.0_aarch64.replies                     | 178 ++++--------------
tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml  |   2 +-
.../qemucapabilitiesdata/caps_6.2.0_ppc64.replies  | 182 +++++-------------
tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml    |   2 +-
.../qemucapabilitiesdata/caps_6.2.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml   |   2 +-
.../caps_7.0.0_aarch64+hvf.replies                 | 182 +++++-------------
.../caps_7.0.0_aarch64+hvf.xml                     |   2 +-
.../caps_7.0.0_aarch64.replies                     | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml  |   2 +-
.../qemucapabilitiesdata/caps_7.0.0_ppc64.replies  | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml    |   2 +-
.../qemucapabilitiesdata/caps_7.0.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml   |   2 +-
.../qemucapabilitiesdata/caps_7.1.0_ppc64.replies  | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml    |   2 +-
.../qemucapabilitiesdata/caps_7.1.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml   |   2 +-
tests/qemucapabilitiesdata/caps_7.2.0_ppc.replies  | 186 ++++---------------
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml      |   2 +-
.../caps_7.2.0_x86_64+hvf.replies                  | 206 +++++----------------
.../qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml |   2 +-
.../qemucapabilitiesdata/caps_7.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml   |   2 +-
.../caps_8.0.0_riscv64.replies                     | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml  |   2 +-
.../qemucapabilitiesdata/caps_8.0.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml   |   2 +-
.../qemucapabilitiesdata/caps_8.1.0_s390x.replies  | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml    |   2 +-
.../qemucapabilitiesdata/caps_8.1.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml   |   2 +-
.../caps_8.2.0_aarch64.replies                     | 190 ++++---------------
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml  |   2 +-
.../qemucapabilitiesdata/caps_8.2.0_armv7l.replies | 190 ++++---------------
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml   |   2 +-
.../caps_8.2.0_loongarch64.replies                 | 186 ++++---------------
.../caps_8.2.0_loongarch64.xml                     |   2 +-
.../qemucapabilitiesdata/caps_8.2.0_s390x.replies  | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml    |   2 +-
.../qemucapabilitiesdata/caps_8.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml   |   2 +-
.../qemucapabilitiesdata/caps_9.0.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml   |   2 +-
.../caps_9.1.0_riscv64.replies                     | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml  |   2 +-
.../qemucapabilitiesdata/caps_9.1.0_s390x.replies  | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml    |   2 +-
.../qemucapabilitiesdata/caps_9.1.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml   |   2 +-
.../qemucapabilitiesdata/caps_9.2.0_s390x.replies  | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml    |   2 +-
.../qemucapabilitiesdata/caps_9.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml   |   2 +-
tests/qemuhotplugtest.c                            |   8 +-
.../qemuxmlconfdata/disk-cache.x86_64-latest.args  |   3 +-
.../disk-cdrom-bus-other.x86_64-latest.args        |   3 +-
.../disk-device-removable.x86_64-latest.args       |   3 +-
.../disk-usb-device.x86_64-latest.args             |   3 +-
84 files changed, 1689 insertions(+), 5346 deletions(-)
[PATCH 0/3] qemu: Replace usb-storage with usb-bot
Posted by Akihiko Odaki 4 days, 1 hour ago
usb-storage is a compound device that automatically creates a USB mass
storage device and a SCSI device as its backend. Unfortunately it lacks
some configuration options that are usually present with a SCSI device,
and cannot represent CD-ROM in particular.

Replace usb-storage with usb-bot, which can be combined with a manually
created SCSI device. libvirt will configure the SCSI device in a way
identical with how QEMU does for usb-storage except that now it respects
a configuration option to represent CD-ROM.

Resolves: https://gitlab.com/libvirt/libvirt/-/issues/368

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
Akihiko Odaki (3):
      qemu_capabilities: Introduce QEMU_CAPS_DEVICE_USB_BOT
      qemu: Replace usb-storage with usb-bot
      qemu_capabilities: Retire QEMU_CAPS_DEVICE_USB_STORAGE

 src/qemu/qemu_alias.c                              |   3 +-
 src/qemu/qemu_capabilities.c                       |  19 +-
 src/qemu/qemu_capabilities.h                       |   3 +-
 src/qemu/qemu_command.c                            |  55 +++++-
 src/qemu/qemu_command.h                            |   5 +
 src/qemu/qemu_hotplug.c                            |  34 +++-
 src/qemu/qemu_validate.c                           |   4 +-
 .../qemucapabilitiesdata/caps_10.0.0_s390x.replies | 186 ++++---------------
 tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml   |   2 +-
 .../caps_10.0.0_x86_64.replies                     | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml  |   2 +-
 .../caps_5.2.0_aarch64.replies                     | 174 ++++-------------
 tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_5.2.0_ppc64.replies  | 178 +++++-------------
 tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml    |   2 +-
 .../caps_5.2.0_riscv64.replies                     | 170 ++++-------------
 tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_5.2.0_x86_64.replies | 190 +++++--------------
 tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml   |   2 +-
 .../caps_6.0.0_aarch64.replies                     | 172 ++++-------------
 tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_6.0.0_x86_64.replies | 188 +++++--------------
 tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml   |   2 +-
 .../qemucapabilitiesdata/caps_6.1.0_x86_64.replies | 194 +++++--------------
 tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml   |   2 +-
 .../caps_6.2.0_aarch64.replies                     | 178 ++++--------------
 tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_6.2.0_ppc64.replies  | 182 +++++-------------
 tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml    |   2 +-
 .../qemucapabilitiesdata/caps_6.2.0_x86_64.replies | 194 +++++--------------
 tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml   |   2 +-
 .../caps_7.0.0_aarch64+hvf.replies                 | 182 +++++-------------
 .../caps_7.0.0_aarch64+hvf.xml                     |   2 +-
 .../caps_7.0.0_aarch64.replies                     | 182 +++++-------------
 tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_7.0.0_ppc64.replies  | 182 +++++-------------
 tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml    |   2 +-
 .../qemucapabilitiesdata/caps_7.0.0_x86_64.replies | 194 +++++--------------
 tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml   |   2 +-
 .../qemucapabilitiesdata/caps_7.1.0_ppc64.replies  | 182 +++++-------------
 tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml    |   2 +-
 .../qemucapabilitiesdata/caps_7.1.0_x86_64.replies | 194 +++++--------------
 tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml   |   2 +-
 tests/qemucapabilitiesdata/caps_7.2.0_ppc.replies  | 186 ++++---------------
 tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml      |   2 +-
 .../caps_7.2.0_x86_64+hvf.replies                  | 206 +++++----------------
 .../qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml |   2 +-
 .../qemucapabilitiesdata/caps_7.2.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml   |   2 +-
 .../caps_8.0.0_riscv64.replies                     | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_8.0.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml   |   2 +-
 .../qemucapabilitiesdata/caps_8.1.0_s390x.replies  | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml    |   2 +-
 .../qemucapabilitiesdata/caps_8.1.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml   |   2 +-
 .../caps_8.2.0_aarch64.replies                     | 190 ++++---------------
 tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_8.2.0_armv7l.replies | 190 ++++---------------
 tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml   |   2 +-
 .../caps_8.2.0_loongarch64.replies                 | 186 ++++---------------
 .../caps_8.2.0_loongarch64.xml                     |   2 +-
 .../qemucapabilitiesdata/caps_8.2.0_s390x.replies  | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml    |   2 +-
 .../qemucapabilitiesdata/caps_8.2.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml   |   2 +-
 .../qemucapabilitiesdata/caps_9.0.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml   |   2 +-
 .../caps_9.1.0_riscv64.replies                     | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml  |   2 +-
 .../qemucapabilitiesdata/caps_9.1.0_s390x.replies  | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml    |   2 +-
 .../qemucapabilitiesdata/caps_9.1.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml   |   2 +-
 .../qemucapabilitiesdata/caps_9.2.0_s390x.replies  | 182 ++++--------------
 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml    |   2 +-
 .../qemucapabilitiesdata/caps_9.2.0_x86_64.replies | 206 +++++----------------
 tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml   |   2 +-
 tests/qemuhotplugtest.c                            |   8 +-
 .../qemuxmlconfdata/disk-cache.x86_64-latest.args  |   3 +-
 .../disk-cdrom-bus-other.x86_64-latest.args        |   3 +-
 .../disk-device-removable.x86_64-latest.args       |   3 +-
 .../disk-usb-device.x86_64-latest.args             |   3 +-
 84 files changed, 1689 insertions(+), 5346 deletions(-)
---
base-commit: e5299ddf86121d3c792ca271ffcb54900eb19dc3
change-id: 20250304-bot-5d84aa3a5cfe

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>