[libvirt] [PATCH 04/12] Move qemuCheckCCWS390AddressSupport to qemu_domain

Ján Tomko posted 12 patches 8 years, 3 months ago
[libvirt] [PATCH 04/12] Move qemuCheckCCWS390AddressSupport to qemu_domain
Posted by Ján Tomko 8 years, 3 months ago
Let it be reused in qemu_domain_address.
---
 src/qemu/qemu_command.c | 40 ----------------------------------------
 src/qemu/qemu_command.h |  5 -----
 src/qemu/qemu_domain.c  | 40 ++++++++++++++++++++++++++++++++++++++++
 src/qemu/qemu_domain.h  |  5 +++++
 4 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index f68b82d08..138bbdf1a 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1263,46 +1263,6 @@ qemuCheckDiskConfig(virDomainDiskDefPtr disk)
 }
 
 
-/* Check whether the device address is using either 'ccw' or default s390
- * address format and whether that's "legal" for the current qemu and/or
- * guest os.machine type. This is the corollary to the code which doesn't
- * find the address type set using an emulator that supports either 'ccw'
- * or s390 and sets the address type based on the capabilities.
- *
- * If the address is using 'ccw' or s390 and it's not supported, generate
- * an error and return false; otherwise, return true.
- */
-bool
-qemuCheckCCWS390AddressSupport(const virDomainDef *def,
-                               virDomainDeviceInfo info,
-                               virQEMUCapsPtr qemuCaps,
-                               const char *devicename)
-{
-    if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
-        if (!qemuDomainIsS390CCW(def)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("cannot use CCW address type for device "
-                             "'%s' using machine type '%s'"),
-                       devicename, def->os.machine);
-            return false;
-        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("CCW address type is not supported by "
-                             "this QEMU"));
-            return false;
-        }
-    } else if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
-        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("virtio S390 address type is not supported by "
-                             "this QEMU"));
-            return false;
-        }
-    }
-    return true;
-}
-
-
 /* QEMU 1.2 and later have a binary flag -enable-fips that must be
  * used for VNC auth to obey FIPS settings; but the flag only
  * exists on Linux, and with no way to probe for it via QMP.  Our
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 94e4592cc..1254ad4df 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -189,11 +189,6 @@ int qemuCheckDiskConfig(virDomainDiskDefPtr disk);
 bool
 qemuCheckFips(void);
 
-bool qemuCheckCCWS390AddressSupport(const virDomainDef *def,
-                                    virDomainDeviceInfo info,
-                                    virQEMUCapsPtr qemuCaps,
-                                    const char *devicename);
-
 virJSONValuePtr qemuBuildHotpluggableCPUProps(const virDomainVcpuDef *vcpu)
     ATTRIBUTE_NONNULL(1);
 
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 05e8b96aa..f6eb4277a 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -10122,3 +10122,43 @@ qemuDomainGetMachineName(virDomainObjPtr vm)
 
     return ret;
 }
+
+
+/* Check whether the device address is using either 'ccw' or default s390
+ * address format and whether that's "legal" for the current qemu and/or
+ * guest os.machine type. This is the corollary to the code which doesn't
+ * find the address type set using an emulator that supports either 'ccw'
+ * or s390 and sets the address type based on the capabilities.
+ *
+ * If the address is using 'ccw' or s390 and it's not supported, generate
+ * an error and return false; otherwise, return true.
+ */
+bool
+qemuCheckCCWS390AddressSupport(const virDomainDef *def,
+                               virDomainDeviceInfo info,
+                               virQEMUCapsPtr qemuCaps,
+                               const char *devicename)
+{
+    if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
+        if (!qemuDomainIsS390CCW(def)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                           _("cannot use CCW address type for device "
+                             "'%s' using machine type '%s'"),
+                       devicename, def->os.machine);
+            return false;
+        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("CCW address type is not supported by "
+                             "this QEMU"));
+            return false;
+        }
+    } else if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
+        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("virtio S390 address type is not supported by "
+                             "this QEMU"));
+            return false;
+        }
+    }
+    return true;
+}
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 5201c6a0a..6abefc929 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -978,4 +978,9 @@ qemuDomainFixupCPUs(virDomainObjPtr vm,
 char *
 qemuDomainGetMachineName(virDomainObjPtr vm);
 
+bool qemuCheckCCWS390AddressSupport(const virDomainDef *def,
+                                    virDomainDeviceInfo info,
+                                    virQEMUCapsPtr qemuCaps,
+                                    const char *devicename);
+
 #endif /* __QEMU_DOMAIN_H__ */
-- 
2.13.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 04/12] Move qemuCheckCCWS390AddressSupport to qemu_domain
Posted by John Ferlan 8 years, 3 months ago

On 10/17/2017 11:04 AM, Ján Tomko wrote:
> Let it be reused in qemu_domain_address.

Alternatively you could have added "#include qemu_command.h" to
qemu_domain_address.c, right?

IDC about moving, but if you do....

> ---
>  src/qemu/qemu_command.c | 40 ----------------------------------------
>  src/qemu/qemu_command.h |  5 -----
>  src/qemu/qemu_domain.c  | 40 ++++++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_domain.h  |  5 +++++
>  4 files changed, 45 insertions(+), 45 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index f68b82d08..138bbdf1a 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -1263,46 +1263,6 @@ qemuCheckDiskConfig(virDomainDiskDefPtr disk)
>  }
>  
>  
> -/* Check whether the device address is using either 'ccw' or default s390
> - * address format and whether that's "legal" for the current qemu and/or
> - * guest os.machine type. This is the corollary to the code which doesn't
> - * find the address type set using an emulator that supports either 'ccw'
> - * or s390 and sets the address type based on the capabilities.
> - *
> - * If the address is using 'ccw' or s390 and it's not supported, generate
> - * an error and return false; otherwise, return true.
> - */
> -bool
> -qemuCheckCCWS390AddressSupport(const virDomainDef *def,
> -                               virDomainDeviceInfo info,
> -                               virQEMUCapsPtr qemuCaps,
> -                               const char *devicename)
> -{
> -    if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
> -        if (!qemuDomainIsS390CCW(def)) {
> -            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> -                           _("cannot use CCW address type for device "
> -                             "'%s' using machine type '%s'"),
> -                       devicename, def->os.machine);
> -            return false;
> -        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) {
> -            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> -                           _("CCW address type is not supported by "
> -                             "this QEMU"));
> -            return false;
> -        }
> -    } else if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
> -        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) {
> -            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> -                           _("virtio S390 address type is not supported by "
> -                             "this QEMU"));
> -            return false;
> -        }
> -    }
> -    return true;
> -}
> -
> -
>  /* QEMU 1.2 and later have a binary flag -enable-fips that must be
>   * used for VNC auth to obey FIPS settings; but the flag only
>   * exists on Linux, and with no way to probe for it via QMP.  Our
> diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
> index 94e4592cc..1254ad4df 100644
> --- a/src/qemu/qemu_command.h
> +++ b/src/qemu/qemu_command.h
> @@ -189,11 +189,6 @@ int qemuCheckDiskConfig(virDomainDiskDefPtr disk);
>  bool
>  qemuCheckFips(void);
>  
> -bool qemuCheckCCWS390AddressSupport(const virDomainDef *def,
> -                                    virDomainDeviceInfo info,
> -                                    virQEMUCapsPtr qemuCaps,
> -                                    const char *devicename);
> -
>  virJSONValuePtr qemuBuildHotpluggableCPUProps(const virDomainVcpuDef *vcpu)
>      ATTRIBUTE_NONNULL(1);
>  
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index 05e8b96aa..f6eb4277a 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -10122,3 +10122,43 @@ qemuDomainGetMachineName(virDomainObjPtr vm)
>  
>      return ret;
>  }
> +
> +
> +/* Check whether the device address is using either 'ccw' or default s390
> + * address format and whether that's "legal" for the current qemu and/or
> + * guest os.machine type. This is the corollary to the code which doesn't
> + * find the address type set using an emulator that supports either 'ccw'
> + * or s390 and sets the address type based on the capabilities.
> + *
> + * If the address is using 'ccw' or s390 and it's not supported, generate
> + * an error and return false; otherwise, return true.
> + */
> +bool
> +qemuCheckCCWS390AddressSupport(const virDomainDef *def,
> +                               virDomainDeviceInfo info,
> +                               virQEMUCapsPtr qemuCaps,
> +                               const char *devicename)


... This should be renamed to qemuDomainCheckCCWS390AddressSupport since
it's in qemu_domain.c

> +{
> +    if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
> +        if (!qemuDomainIsS390CCW(def)) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                           _("cannot use CCW address type for device "
> +                             "'%s' using machine type '%s'"),
> +                       devicename, def->os.machine);
> +            return false;
> +        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> +                           _("CCW address type is not supported by "
> +                             "this QEMU"));
> +            return false;
> +        }
> +    } else if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
> +        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> +                           _("virtio S390 address type is not supported by "
> +                             "this QEMU"));
> +            return false;
> +        }
> +    }
> +    return true;
> +}
> diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
> index 5201c6a0a..6abefc929 100644
> --- a/src/qemu/qemu_domain.h
> +++ b/src/qemu/qemu_domain.h
> @@ -978,4 +978,9 @@ qemuDomainFixupCPUs(virDomainObjPtr vm,
>  char *
>  qemuDomainGetMachineName(virDomainObjPtr vm);
>  
> +bool qemuCheckCCWS390AddressSupport(const virDomainDef *def,
> +                                    virDomainDeviceInfo info,
> +                                    virQEMUCapsPtr qemuCaps,
> +                                    const char *devicename);

More recently I've been encouraged by some reviewers to use:

bool
qemuDomainCheck...();

type format to follow the .c file format when adding functions.

John

> +
>  #endif /* __QEMU_DOMAIN_H__ */
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 04/12] Move qemuCheckCCWS390AddressSupport to qemu_domain
Posted by Ján Tomko 8 years, 3 months ago
On Thu, Oct 19, 2017 at 08:08:34AM -0400, John Ferlan wrote:
>
>
>On 10/17/2017 11:04 AM, Ján Tomko wrote:
>> Let it be reused in qemu_domain_address.
>
>Alternatively you could have added "#include qemu_command.h" to
>qemu_domain_address.c, right?
>

The function does not deal directly with the command line and
including qemu_command.h would feel wrong.

>IDC about moving, but if you do....
>

[...]

>> diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
>> index 5201c6a0a..6abefc929 100644
>> --- a/src/qemu/qemu_domain.h
>> +++ b/src/qemu/qemu_domain.h
>> @@ -978,4 +978,9 @@ qemuDomainFixupCPUs(virDomainObjPtr vm,
>>  char *
>>  qemuDomainGetMachineName(virDomainObjPtr vm);
>>
>> +bool qemuCheckCCWS390AddressSupport(const virDomainDef *def,
>> +                                    virDomainDeviceInfo info,
>> +                                    virQEMUCapsPtr qemuCaps,
>> +                                    const char *devicename);
>
>More recently I've been encouraged by some reviewers to use:
>
>bool
>qemuDomainCheck...();
>
>type format to follow the .c file format when adding functions.
>

I purposefully formatted it this way to match most of the prototypes
in the file.

Jan

>John
>
>> +
>>  #endif /* __QEMU_DOMAIN_H__ */
>>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list