Re: [Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Isaila Alexandru
On Fri, 2018-09-21 at 04:34 -0600, Jan Beulich wrote:
> > > > On 21.09.18 at 09:30,  wrote:
> > 
> > --- a/xen/arch/x86/hvm/save.c
> > +++ b/xen/arch/x86/hvm/save.c
> > @@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned int
> > typecode, unsigned int instance,
> >  if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
> >  printk(XENLOG_G_ERR "HVM%d save: failed to save type
> > %"PRIu16" (%d)\n",
> > d->domain_id, typecode, rv);
> > -else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
> > +else if ( rv = hvm_sr_handlers[typecode].kind ==
> > HVMSR_PER_VCPU ?
> > +  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )
> 
> This very certainly needs parenthesizes, since if asked explicitly I
> don't think many people will be able to quickly answer the question
> of precedence between the ?: and , operators. I'm happy to add
> these while committing, and with them in place
> Acked-by: Jan Beulich 
> 
Ok, thanks for the help.

Alex

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Jan Beulich
>>> On 21.09.18 at 09:30,  wrote:
> --- a/xen/arch/x86/hvm/save.c
> +++ b/xen/arch/x86/hvm/save.c
> @@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned int typecode, 
> unsigned int instance,
>  if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
>  printk(XENLOG_G_ERR "HVM%d save: failed to save type %"PRIu16" 
> (%d)\n",
> d->domain_id, typecode, rv);
> -else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
> +else if ( rv = hvm_sr_handlers[typecode].kind == HVMSR_PER_VCPU ?
> +  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )

This very certainly needs parenthesizes, since if asked explicitly I
don't think many people will be able to quickly answer the question
of precedence between the ?: and , operators. I'm happy to add
these while committing, and with them in place
Acked-by: Jan Beulich 

Jan



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Isaila Alexandru
On Fri, 2018-09-21 at 09:44 +0100, Wei Liu wrote:
> On Fri, Sep 21, 2018 at 09:43:22AM +0100, Wei Liu wrote:
> > On Fri, Sep 21, 2018 at 10:30:30AM +0300, Alexandru Isaila wrote:
> > > This patch is needed in order to have a different return error
> > > for invalid vcpu
> > > and offline vcpu on the per vcpu king.
> > 
> > Sorry, I can't parse this sentence. What is "per vcpu king"?
> 
> Oh, "king" should be "kind".

Yes, king = kind, sorry for that  
> 
> > 
> > > 
> > > Signed-off-by: Alexandru Isaila 
> > > 
> > > ---
> > > Changes since V1:
> > >   - Add conditional statement in order to have a difference
> > > between
> > >   per_vcpu and per_dom return error.
> > > ---
> > >  xen/arch/x86/hvm/save.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
> > > index d520898843..1764fb0918 100644
> > > --- a/xen/arch/x86/hvm/save.c
> > > +++ b/xen/arch/x86/hvm/save.c
> > > @@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned
> > > int typecode, unsigned int instance,
> > >  if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
> > >  printk(XENLOG_G_ERR "HVM%d save: failed to save type
> > > %"PRIu16" (%d)\n",
> > > d->domain_id, typecode, rv);
> > > -else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
> > > +else if ( rv = hvm_sr_handlers[typecode].kind ==
> > > HVMSR_PER_VCPU ?
> > > +  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )
> > >  {
> > >  uint32_t off;
> > >  
> > > -- 
> > > 2.17.1
> > > 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Wei Liu
On Fri, Sep 21, 2018 at 09:43:22AM +0100, Wei Liu wrote:
> On Fri, Sep 21, 2018 at 10:30:30AM +0300, Alexandru Isaila wrote:
> > This patch is needed in order to have a different return error for invalid 
> > vcpu
> > and offline vcpu on the per vcpu king.
> 
> Sorry, I can't parse this sentence. What is "per vcpu king"?

Oh, "king" should be "kind".

> 
> > 
> > Signed-off-by: Alexandru Isaila 
> > 
> > ---
> > Changes since V1:
> > - Add conditional statement in order to have a difference between
> > per_vcpu and per_dom return error.
> > ---
> >  xen/arch/x86/hvm/save.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
> > index d520898843..1764fb0918 100644
> > --- a/xen/arch/x86/hvm/save.c
> > +++ b/xen/arch/x86/hvm/save.c
> > @@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned int 
> > typecode, unsigned int instance,
> >  if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
> >  printk(XENLOG_G_ERR "HVM%d save: failed to save type %"PRIu16" 
> > (%d)\n",
> > d->domain_id, typecode, rv);
> > -else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
> > +else if ( rv = hvm_sr_handlers[typecode].kind == HVMSR_PER_VCPU ?
> > +  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )
> >  {
> >  uint32_t off;
> >  
> > -- 
> > 2.17.1
> > 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Wei Liu
On Fri, Sep 21, 2018 at 10:30:30AM +0300, Alexandru Isaila wrote:
> This patch is needed in order to have a different return error for invalid 
> vcpu
> and offline vcpu on the per vcpu king.

Sorry, I can't parse this sentence. What is "per vcpu king"?

> 
> Signed-off-by: Alexandru Isaila 
> 
> ---
> Changes since V1:
>   - Add conditional statement in order to have a difference between
>   per_vcpu and per_dom return error.
> ---
>  xen/arch/x86/hvm/save.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
> index d520898843..1764fb0918 100644
> --- a/xen/arch/x86/hvm/save.c
> +++ b/xen/arch/x86/hvm/save.c
> @@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned int typecode, 
> unsigned int instance,
>  if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
>  printk(XENLOG_G_ERR "HVM%d save: failed to save type %"PRIu16" 
> (%d)\n",
> d->domain_id, typecode, rv);
> -else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
> +else if ( rv = hvm_sr_handlers[typecode].kind == HVMSR_PER_VCPU ?
> +  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )
>  {
>  uint32_t off;
>  
> -- 
> 2.17.1
> 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH v2] x86/hvm: Change return error for offline vcpus

2018-09-21 Thread Alexandru Isaila
This patch is needed in order to have a different return error for invalid vcpu
and offline vcpu on the per vcpu king.

Signed-off-by: Alexandru Isaila 

---
Changes since V1:
- Add conditional statement in order to have a difference between
per_vcpu and per_dom return error.
---
 xen/arch/x86/hvm/save.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
index d520898843..1764fb0918 100644
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -165,7 +165,8 @@ int hvm_save_one(struct domain *d, unsigned int typecode, 
unsigned int instance,
 if ( (rv = hvm_sr_handlers[typecode].save(v, )) != 0 )
 printk(XENLOG_G_ERR "HVM%d save: failed to save type %"PRIu16" (%d)\n",
d->domain_id, typecode, rv);
-else if ( rv = -ENOENT, ctxt.cur >= sizeof(*desc) )
+else if ( rv = hvm_sr_handlers[typecode].kind == HVMSR_PER_VCPU ?
+  -ENODATA : -ENOENT, ctxt.cur >= sizeof(*desc) )
 {
 uint32_t off;
 
-- 
2.17.1


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel