[libvirt PATCH 2/2] qemu: implement setting of rotation rate for SCSI/IDE disks

Daniel P. Berrangé berrange at redhat.com
Wed Mar 31 11:58:09 UTC 2021


On Wed, Mar 31, 2021 at 01:49:04PM +0200, Ján Tomko wrote:
> On a Wednesday in 2021, Daniel P. Berrangé wrote:
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> > src/qemu/qemu_capabilities.c                  |  2 +
> > src/qemu/qemu_capabilities.h                  |  1 +
> > src/qemu/qemu_command.c                       |  3 +
> > src/qemu/qemu_validate.c                      | 22 ++++++++
> > .../caps_2.12.0.aarch64.xml                   |  1 +
> > .../caps_4.0.0.aarch64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml |  1 +
> > .../caps_4.0.0.riscv32.xml                    |  1 +
> > .../caps_4.0.0.riscv64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_4.0.0.s390x.xml |  1 +
> > .../caps_4.0.0.x86_64.xml                     |  1 +
> > .../caps_4.1.0.x86_64.xml                     |  1 +
> > .../caps_4.2.0.aarch64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml |  1 +
> > .../qemucapabilitiesdata/caps_4.2.0.s390x.xml |  1 +
> > .../caps_4.2.0.x86_64.xml                     |  1 +
> > .../caps_5.0.0.aarch64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml |  1 +
> > .../caps_5.0.0.riscv64.xml                    |  1 +
> > .../caps_5.0.0.x86_64.xml                     |  1 +
> > .../qemucapabilitiesdata/caps_5.1.0.sparc.xml |  1 +
> > .../caps_5.1.0.x86_64.xml                     |  1 +
> > .../caps_5.2.0.aarch64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |  1 +
> > .../caps_5.2.0.riscv64.xml                    |  1 +
> > .../qemucapabilitiesdata/caps_5.2.0.s390x.xml |  1 +
> > .../caps_5.2.0.x86_64.xml                     |  1 +
> > .../caps_6.0.0.x86_64.xml                     |  1 +
> > .../disk-rotation.x86_64-latest.args          | 56 +++++++++++++++++++
> > tests/qemuxml2argvdata/disk-rotation.xml      | 38 +++++++++++++
> > tests/qemuxml2argvtest.c                      |  1 +
> > .../disk-rotation.x86_64-latest.xml           | 55 ++++++++++++++++++
> > tests/qemuxml2xmltest.c                       |  1 +
> > 33 files changed, 203 insertions(+)
> > create mode 100644 tests/qemuxml2argvdata/disk-rotation.x86_64-latest.args
> > create mode 100644 tests/qemuxml2argvdata/disk-rotation.xml
> > create mode 100644 tests/qemuxml2xmloutdata/disk-rotation.x86_64-latest.xml
> > 
> > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> > index deedff2e9f..ea24e2d6a5 100644
> > --- a/src/qemu/qemu_capabilities.c
> > +++ b/src/qemu/qemu_capabilities.c
> > @@ -624,6 +624,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
> >               "audiodev",
> >               "blockdev-backup",
> >               "object.qapified",
> > +              "rotation-rate",
> >     );
> > 
> > 
> > @@ -1440,6 +1441,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsSCSIDisk[] = {
> >     { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE, NULL },
> >     { "device_id", QEMU_CAPS_SCSI_DISK_DEVICE_ID, NULL },
> >     { "werror", QEMU_CAPS_STORAGE_WERROR, NULL },
> > +    { "rotation_rate", QEMU_CAPS_ROTATION_RATE, NULL },
> > };
> > 
> > static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsIDEDrive[] = {
> > diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> > index da51a788fa..a70c00a265 100644
> > --- a/src/qemu/qemu_capabilities.h
> > +++ b/src/qemu/qemu_capabilities.h
> > @@ -604,6 +604,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
> >     QEMU_CAPS_AUDIODEV, /* -audiodev instead of QEMU_AUDIO_DRV */
> >     QEMU_CAPS_BLOCKDEV_BACKUP, /* qemu supports the blockdev-backup job */
> >     QEMU_CAPS_OBJECT_QAPIFIED, /* parameters for object-add are formally described */
> > +    QEMU_CAPS_ROTATION_RATE, /* scsi-disk / ide-drive rotation-rate prop */
> > 
> 
> You mention both SCSI and IDE in the comment, but only check props for
> SCSI. But I guess it would be rare to have one without the other.

They were consequetive commits I implemented in QEMU, so checking both
is overkill

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 :|




More information about the libvir-list mailing list