[libvirt PATCH] qemu_validate: Allow kvm hint-dedicated on non-passthrough VMs

Tim Wiederhake posted 1 patch 3 years, 3 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20210118144314.39582-1-twiederh@redhat.com
src/qemu/qemu_validate.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
[libvirt PATCH] qemu_validate: Allow kvm hint-dedicated on non-passthrough VMs
Posted by Tim Wiederhake 3 years, 3 months ago
A VM defined similar to:
  ...
  <features><kvm><hint-dedicated state='on'/></kvm></features>
  <cpu mode="host-model"/>
  ...
is currently invalid, as hint-dedicated is only allowed if cpu mode
is host-passthrough. This restriction is unnecessary, see
https://bugzilla.redhat.com/show_bug.cgi?id=1857671.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
---
 src/qemu/qemu_validate.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index a060bd98ba..c58d221cf8 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -253,16 +253,6 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
             }
             break;
 
-        case VIR_DOMAIN_FEATURE_KVM:
-            if (def->kvm_features[VIR_DOMAIN_KVM_DEDICATED] == VIR_TRISTATE_SWITCH_ON &&
-                (!def->cpu || def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH)) {
-                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                               _("kvm-hint-dedicated=on is only applicable "
-                                 "for cpu host-passthrough"));
-                return -1;
-            }
-            break;
-
         case VIR_DOMAIN_FEATURE_VMPORT:
             if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT &&
                 !virQEMUCapsSupportsVmport(qemuCaps, def)) {
@@ -335,6 +325,7 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
             }
             break;
 
+        case VIR_DOMAIN_FEATURE_KVM:
         case VIR_DOMAIN_FEATURE_XEN:
         case VIR_DOMAIN_FEATURE_ACPI:
         case VIR_DOMAIN_FEATURE_PAE:
-- 
2.26.2

Re: [libvirt PATCH] qemu_validate: Allow kvm hint-dedicated on non-passthrough VMs
Posted by Daniel Henrique Barboza 3 years, 3 months ago

On 1/18/21 11:43 AM, Tim Wiederhake wrote:
> A VM defined similar to:
>    ...
>    <features><kvm><hint-dedicated state='on'/></kvm></features>
>    <cpu mode="host-model"/>
>    ...
> is currently invalid, as hint-dedicated is only allowed if cpu mode
> is host-passthrough. This restriction is unnecessary, see
> https://bugzilla.redhat.com/show_bug.cgi?id=1857671.
> 
> Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
> ---

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>

>   src/qemu/qemu_validate.c | 11 +----------
>   1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
> index a060bd98ba..c58d221cf8 100644
> --- a/src/qemu/qemu_validate.c
> +++ b/src/qemu/qemu_validate.c
> @@ -253,16 +253,6 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
>               }
>               break;
>   
> -        case VIR_DOMAIN_FEATURE_KVM:
> -            if (def->kvm_features[VIR_DOMAIN_KVM_DEDICATED] == VIR_TRISTATE_SWITCH_ON &&
> -                (!def->cpu || def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH)) {
> -                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> -                               _("kvm-hint-dedicated=on is only applicable "
> -                                 "for cpu host-passthrough"));
> -                return -1;
> -            }
> -            break;
> -
>           case VIR_DOMAIN_FEATURE_VMPORT:
>               if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT &&
>                   !virQEMUCapsSupportsVmport(qemuCaps, def)) {
> @@ -335,6 +325,7 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
>               }
>               break;
>   
> +        case VIR_DOMAIN_FEATURE_KVM:
>           case VIR_DOMAIN_FEATURE_XEN:
>           case VIR_DOMAIN_FEATURE_ACPI:
>           case VIR_DOMAIN_FEATURE_PAE:
> 

Re: [libvirt PATCH] qemu_validate: Allow kvm hint-dedicated on non-passthrough VMs
Posted by Ján Tomko 3 years, 2 months ago
On a Monday in 2021, Tim Wiederhake wrote:
>A VM defined similar to:
>  ...
>  <features><kvm><hint-dedicated state='on'/></kvm></features>
>  <cpu mode="host-model"/>
>  ...
>is currently invalid, as hint-dedicated is only allowed if cpu mode
>is host-passthrough. This restriction is unnecessary, see

>https://bugzilla.redhat.com/show_bug.cgi?id=1857671.
>

Please drop the period at the end of the bug link, for easier selection.

>Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
>---
> src/qemu/qemu_validate.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
>diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
>index a060bd98ba..c58d221cf8 100644
>--- a/src/qemu/qemu_validate.c
>+++ b/src/qemu/qemu_validate.c
>@@ -253,16 +253,6 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
>             }
>             break;
>
>-        case VIR_DOMAIN_FEATURE_KVM:
>-            if (def->kvm_features[VIR_DOMAIN_KVM_DEDICATED] == VIR_TRISTATE_SWITCH_ON &&
>-                (!def->cpu || def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH)) {
>-                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>-                               _("kvm-hint-dedicated=on is only applicable "
>-                                 "for cpu host-passthrough"));

I see that as of
commit c32f172d123c3cbe44214571c1d9118807608ec5
     qemu: wire up support for maximum CPU model

VIR_CPU_MODE_MAXIMUM is also exempted because it behaves like -cpu host,
which makes the commit message outdated.

Would you like to rebase and resend, or can I push it with the commit
message amended?

Jano


>-                return -1;
>-            }
>-            break;
>-
>         case VIR_DOMAIN_FEATURE_VMPORT:
>             if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT &&
>                 !virQEMUCapsSupportsVmport(qemuCaps, def)) {
>@@ -335,6 +325,7 @@ qemuValidateDomainDefFeatures(const virDomainDef *def,
>             }
>             break;
>
>+        case VIR_DOMAIN_FEATURE_KVM:
>         case VIR_DOMAIN_FEATURE_XEN:
>         case VIR_DOMAIN_FEATURE_ACPI:
>         case VIR_DOMAIN_FEATURE_PAE:
>-- 
>2.26.2
>