All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
@ 2012-08-14 13:32 Anthony Liguori
  2012-08-14 13:48 ` Kevin Wolf
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Anthony Liguori @ 2012-08-14 13:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Paolo Bonzini, Anthony Liguori, Stefan Hajnoczi

To be replaced with live block copy.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 migration.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/migration.c b/migration.c
index 653a3c1..babccf4 100644
--- a/migration.c
+++ b/migration.c
@@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
     MigrationParams params;
     const char *p;
     int ret;
+    static bool suppress_deprecation_message;
 
     params.blk = blk;
     params.shared = inc;
 
+    if (blk && !suppress_deprecation_message) {
+        qerror_report(ERROR_CLASS_GENERIC_ERROR,
+                      "Block migration is deprecated.  "
+                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
+                      "for an alternative syntax.");
+        suppress_deprecation_message = true;
+    }
+
     if (s->state == MIG_STATE_ACTIVE) {
         error_set(errp, QERR_MIGRATION_ACTIVE);
         return;
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 13:32 [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release Anthony Liguori
@ 2012-08-14 13:48 ` Kevin Wolf
  2012-08-14 14:52   ` Luiz Capitulino
  2012-08-14 14:42 ` Stefan Hajnoczi
  2012-08-14 14:49 ` Luiz Capitulino
  2 siblings, 1 reply; 20+ messages in thread
From: Kevin Wolf @ 2012-08-14 13:48 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Paolo Bonzini, qemu-devel, Stefan Hajnoczi

Am 14.08.2012 15:32, schrieb Anthony Liguori:
> To be replaced with live block copy.
> 
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

Might be worth adding a deprecation note in qapi-schema.json.

> ---
>  migration.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/migration.c b/migration.c
> index 653a3c1..babccf4 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      MigrationParams params;
>      const char *p;
>      int ret;
> +    static bool suppress_deprecation_message;
>  
>      params.blk = blk;
>      params.shared = inc;
>  
> +    if (blk && !suppress_deprecation_message) {

Hm, it's consistent with when we start block migration, but has_blk is
completely ignored for that and blk seems to be uninitialised if
!has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
compile when it can use blk uninitialised...?)

Kevin

> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> +                      "Block migration is deprecated.  "
> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> +                      "for an alternative syntax.");
> +        suppress_deprecation_message = true;
> +    }
> +
>      if (s->state == MIG_STATE_ACTIVE) {
>          error_set(errp, QERR_MIGRATION_ACTIVE);
>          return;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 13:32 [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release Anthony Liguori
  2012-08-14 13:48 ` Kevin Wolf
@ 2012-08-14 14:42 ` Stefan Hajnoczi
  2012-08-15  8:12   ` Ruben Kerkhof
  2012-08-18 19:10   ` Paolo Bonzini
  2012-08-14 14:49 ` Luiz Capitulino
  2 siblings, 2 replies; 20+ messages in thread
From: Stefan Hajnoczi @ 2012-08-14 14:42 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel

On Tue, Aug 14, 2012 at 08:32:31AM -0500, Anthony Liguori wrote:
> To be replaced with live block copy.
> 
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
>  migration.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/migration.c b/migration.c
> index 653a3c1..babccf4 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      MigrationParams params;
>      const char *p;
>      int ret;
> +    static bool suppress_deprecation_message;
> 
>      params.blk = blk;
>      params.shared = inc;
> 
> +    if (blk && !suppress_deprecation_message) {
> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,

qerror_report_once() would be nice :).

> +                      "Block migration is deprecated.  "
> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "

The page doesn't exist, I think it should be:
http://wiki.qemu.org/Features/LiveBlockMigration

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 13:32 [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release Anthony Liguori
  2012-08-14 13:48 ` Kevin Wolf
  2012-08-14 14:42 ` Stefan Hajnoczi
@ 2012-08-14 14:49 ` Luiz Capitulino
  2012-08-14 19:45   ` Anthony Liguori
  2 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2012-08-14 14:49 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Stefan Hajnoczi

On Tue, 14 Aug 2012 08:32:31 -0500
Anthony Liguori <aliguori@us.ibm.com> wrote:

> To be replaced with live block copy.
> 
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
>  migration.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/migration.c b/migration.c
> index 653a3c1..babccf4 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      MigrationParams params;
>      const char *p;
>      int ret;
> +    static bool suppress_deprecation_message;
>  
>      params.blk = blk;
>      params.shared = inc;
>  
> +    if (blk && !suppress_deprecation_message) {
> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> +                      "Block migration is deprecated.  "
> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> +                      "for an alternative syntax.");

Why not error_set()?

> +        suppress_deprecation_message = true;
> +    }
> +
>      if (s->state == MIG_STATE_ACTIVE) {
>          error_set(errp, QERR_MIGRATION_ACTIVE);
>          return;

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 13:48 ` Kevin Wolf
@ 2012-08-14 14:52   ` Luiz Capitulino
  2012-08-14 15:02     ` Kevin Wolf
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2012-08-14 14:52 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Stefan Hajnoczi

On Tue, 14 Aug 2012 15:48:37 +0200
Kevin Wolf <kwolf@redhat.com> wrote:

> Am 14.08.2012 15:32, schrieb Anthony Liguori:
> > To be replaced with live block copy.
> > 
> > Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> 
> Might be worth adding a deprecation note in qapi-schema.json.
> 
> > ---
> >  migration.c |    9 +++++++++
> >  1 files changed, 9 insertions(+), 0 deletions(-)
> > 
> > diff --git a/migration.c b/migration.c
> > index 653a3c1..babccf4 100644
> > --- a/migration.c
> > +++ b/migration.c
> > @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
> >      MigrationParams params;
> >      const char *p;
> >      int ret;
> > +    static bool suppress_deprecation_message;
> >  
> >      params.blk = blk;
> >      params.shared = inc;
> >  
> > +    if (blk && !suppress_deprecation_message) {
> 
> Hm, it's consistent with when we start block migration, but has_blk is
> completely ignored for that and blk seems to be uninitialised if
> !has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
> compile when it can use blk uninitialised...?)

Are you referring to qmp_marshal_input_migrate()? Where does it use
blk uninitialized?

> 
> Kevin
> 
> > +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> > +                      "Block migration is deprecated.  "
> > +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> > +                      "for an alternative syntax.");
> > +        suppress_deprecation_message = true;
> > +    }
> > +
> >      if (s->state == MIG_STATE_ACTIVE) {
> >          error_set(errp, QERR_MIGRATION_ACTIVE);
> >          return;
> > 
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 14:52   ` Luiz Capitulino
@ 2012-08-14 15:02     ` Kevin Wolf
  2012-08-14 15:48       ` Luiz Capitulino
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin Wolf @ 2012-08-14 15:02 UTC (permalink / raw)
  To: Luiz Capitulino
  Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Stefan Hajnoczi

Am 14.08.2012 16:52, schrieb Luiz Capitulino:
> On Tue, 14 Aug 2012 15:48:37 +0200
> Kevin Wolf <kwolf@redhat.com> wrote:
> 
>> Am 14.08.2012 15:32, schrieb Anthony Liguori:
>>> To be replaced with live block copy.
>>>
>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>>
>> Might be worth adding a deprecation note in qapi-schema.json.
>>
>>> ---
>>>  migration.c |    9 +++++++++
>>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/migration.c b/migration.c
>>> index 653a3c1..babccf4 100644
>>> --- a/migration.c
>>> +++ b/migration.c
>>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>>>      MigrationParams params;
>>>      const char *p;
>>>      int ret;
>>> +    static bool suppress_deprecation_message;
>>>  
>>>      params.blk = blk;
>>>      params.shared = inc;
>>>  
>>> +    if (blk && !suppress_deprecation_message) {
>>
>> Hm, it's consistent with when we start block migration, but has_blk is
>> completely ignored for that and blk seems to be uninitialised if
>> !has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
>> compile when it can use blk uninitialised...?)
> 
> Are you referring to qmp_marshal_input_migrate()? Where does it use
> blk uninitialized?

Yes, I am. Maybe I'm missing the obvious thing, but:

bool blk;
...
if (has_blk) {
    visit_type_bool(v, &blk, "blk", errp);
}
...
qmp_migrate(uri, has_blk, blk, has_inc, inc, has_detach, detach, errp);

If has_blk is false, blk is never assigned a value before the
qmp_migrate() call, which uses it.

Kevin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 15:02     ` Kevin Wolf
@ 2012-08-14 15:48       ` Luiz Capitulino
  2012-08-14 15:59         ` Kevin Wolf
  0 siblings, 1 reply; 20+ messages in thread
From: Luiz Capitulino @ 2012-08-14 15:48 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Stefan Hajnoczi

On Tue, 14 Aug 2012 17:02:26 +0200
Kevin Wolf <kwolf@redhat.com> wrote:

> Am 14.08.2012 16:52, schrieb Luiz Capitulino:
> > On Tue, 14 Aug 2012 15:48:37 +0200
> > Kevin Wolf <kwolf@redhat.com> wrote:
> > 
> >> Am 14.08.2012 15:32, schrieb Anthony Liguori:
> >>> To be replaced with live block copy.
> >>>
> >>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> >>
> >> Might be worth adding a deprecation note in qapi-schema.json.
> >>
> >>> ---
> >>>  migration.c |    9 +++++++++
> >>>  1 files changed, 9 insertions(+), 0 deletions(-)
> >>>
> >>> diff --git a/migration.c b/migration.c
> >>> index 653a3c1..babccf4 100644
> >>> --- a/migration.c
> >>> +++ b/migration.c
> >>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
> >>>      MigrationParams params;
> >>>      const char *p;
> >>>      int ret;
> >>> +    static bool suppress_deprecation_message;
> >>>  
> >>>      params.blk = blk;
> >>>      params.shared = inc;
> >>>  
> >>> +    if (blk && !suppress_deprecation_message) {
> >>
> >> Hm, it's consistent with when we start block migration, but has_blk is
> >> completely ignored for that and blk seems to be uninitialised if
> >> !has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
> >> compile when it can use blk uninitialised...?)
> > 
> > Are you referring to qmp_marshal_input_migrate()? Where does it use
> > blk uninitialized?
> 
> Yes, I am. Maybe I'm missing the obvious thing, but:
> 
> bool blk;
> ...
> if (has_blk) {
>     visit_type_bool(v, &blk, "blk", errp);
> }
> ...
> qmp_migrate(uri, has_blk, blk, has_inc, inc, has_detach, detach, errp);
> 
> If has_blk is false, blk is never assigned a value before the
> qmp_migrate() call, which uses it.

Yes, qmp_migrate() should only use blk if has_blk is true. The point you
made above about this patch is correct. I thought you were talking about
other usages.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 15:48       ` Luiz Capitulino
@ 2012-08-14 15:59         ` Kevin Wolf
  0 siblings, 0 replies; 20+ messages in thread
From: Kevin Wolf @ 2012-08-14 15:59 UTC (permalink / raw)
  To: Luiz Capitulino
  Cc: Paolo Bonzini, Anthony Liguori, qemu-devel, Stefan Hajnoczi

Am 14.08.2012 17:48, schrieb Luiz Capitulino:
> On Tue, 14 Aug 2012 17:02:26 +0200
> Kevin Wolf <kwolf@redhat.com> wrote:
> 
>> Am 14.08.2012 16:52, schrieb Luiz Capitulino:
>>> On Tue, 14 Aug 2012 15:48:37 +0200
>>> Kevin Wolf <kwolf@redhat.com> wrote:
>>>
>>>> Am 14.08.2012 15:32, schrieb Anthony Liguori:
>>>>> To be replaced with live block copy.
>>>>>
>>>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>>>>
>>>> Might be worth adding a deprecation note in qapi-schema.json.
>>>>
>>>>> ---
>>>>>  migration.c |    9 +++++++++
>>>>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/migration.c b/migration.c
>>>>> index 653a3c1..babccf4 100644
>>>>> --- a/migration.c
>>>>> +++ b/migration.c
>>>>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>>>>>      MigrationParams params;
>>>>>      const char *p;
>>>>>      int ret;
>>>>> +    static bool suppress_deprecation_message;
>>>>>  
>>>>>      params.blk = blk;
>>>>>      params.shared = inc;
>>>>>  
>>>>> +    if (blk && !suppress_deprecation_message) {
>>>>
>>>> Hm, it's consistent with when we start block migration, but has_blk is
>>>> completely ignored for that and blk seems to be uninitialised if
>>>> !has_blk. I think this needs to be fixed. (Why does qmp-marshal.c even
>>>> compile when it can use blk uninitialised...?)
>>>
>>> Are you referring to qmp_marshal_input_migrate()? Where does it use
>>> blk uninitialized?
>>
>> Yes, I am. Maybe I'm missing the obvious thing, but:
>>
>> bool blk;
>> ...
>> if (has_blk) {
>>     visit_type_bool(v, &blk, "blk", errp);
>> }
>> ...
>> qmp_migrate(uri, has_blk, blk, has_inc, inc, has_detach, detach, errp);
>>
>> If has_blk is false, blk is never assigned a value before the
>> qmp_migrate() call, which uses it.
> 
> Yes, qmp_migrate() should only use blk if has_blk is true. The point you
> made above about this patch is correct. I thought you were talking about
> other usages.

I thought the compiler should warn about it independent of the
implementation of qmp_migrate(), because strictly speaking you're
already using blk in qmp_marshal_input_migrate(), even though
qmp_migrate() doesn't look at the parameter.

Kevin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 14:49 ` Luiz Capitulino
@ 2012-08-14 19:45   ` Anthony Liguori
  2012-08-14 20:25     ` Markus Armbruster
  2012-08-14 20:26     ` Luiz Capitulino
  0 siblings, 2 replies; 20+ messages in thread
From: Anthony Liguori @ 2012-08-14 19:45 UTC (permalink / raw)
  To: Luiz Capitulino; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Stefan Hajnoczi

Luiz Capitulino <lcapitulino@redhat.com> writes:

> On Tue, 14 Aug 2012 08:32:31 -0500
> Anthony Liguori <aliguori@us.ibm.com> wrote:
>
>> To be replaced with live block copy.
>> 
>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>> ---
>>  migration.c |    9 +++++++++
>>  1 files changed, 9 insertions(+), 0 deletions(-)
>> 
>> diff --git a/migration.c b/migration.c
>> index 653a3c1..babccf4 100644
>> --- a/migration.c
>> +++ b/migration.c
>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>>      MigrationParams params;
>>      const char *p;
>>      int ret;
>> +    static bool suppress_deprecation_message;
>>  
>>      params.blk = blk;
>>      params.shared = inc;
>>  
>> +    if (blk && !suppress_deprecation_message) {
>> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
>> +                      "Block migration is deprecated.  "
>> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
>> +                      "for an alternative syntax.");
>
> Why not error_set()?

Because we fall through (we don't fail).  This is just a warning.

If you error_set(), then the migration command fails.  We don't want it
to fail.

I guess qerror_report will do that too :-(

I'll change it to an fprintf :-((

Regards,

Anthony Liguori

>
>> +        suppress_deprecation_message = true;
>> +    }
>> +
>>      if (s->state == MIG_STATE_ACTIVE) {
>>          error_set(errp, QERR_MIGRATION_ACTIVE);
>>          return;

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 19:45   ` Anthony Liguori
@ 2012-08-14 20:25     ` Markus Armbruster
  2012-08-14 20:32       ` Luiz Capitulino
  2012-08-14 20:26     ` Luiz Capitulino
  1 sibling, 1 reply; 20+ messages in thread
From: Markus Armbruster @ 2012-08-14 20:25 UTC (permalink / raw)
  To: Anthony Liguori
  Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Stefan Hajnoczi, Luiz Capitulino

Anthony Liguori <aliguori@us.ibm.com> writes:

> Luiz Capitulino <lcapitulino@redhat.com> writes:
>
>> On Tue, 14 Aug 2012 08:32:31 -0500
>> Anthony Liguori <aliguori@us.ibm.com> wrote:
>>
>>> To be replaced with live block copy.
>>> 
>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>>> ---
>>>  migration.c |    9 +++++++++
>>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>> 
>>> diff --git a/migration.c b/migration.c
>>> index 653a3c1..babccf4 100644
>>> --- a/migration.c
>>> +++ b/migration.c
>>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>>>      MigrationParams params;
>>>      const char *p;
>>>      int ret;
>>> +    static bool suppress_deprecation_message;
>>>  
>>>      params.blk = blk;
>>>      params.shared = inc;
>>>  
>>> +    if (blk && !suppress_deprecation_message) {
>>> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
>>> +                      "Block migration is deprecated.  "
>>> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
>>> +                      "for an alternative syntax.");
>>
>> Why not error_set()?
>
> Because we fall through (we don't fail).  This is just a warning.
>
> If you error_set(), then the migration command fails.  We don't want it
> to fail.
>
> I guess qerror_report will do that too :-(
>
> I'll change it to an fprintf :-((

Please use error_report(), to ensure it's visible in the monitor.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 19:45   ` Anthony Liguori
  2012-08-14 20:25     ` Markus Armbruster
@ 2012-08-14 20:26     ` Luiz Capitulino
  1 sibling, 0 replies; 20+ messages in thread
From: Luiz Capitulino @ 2012-08-14 20:26 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Kevin Wolf, Paolo Bonzini, qemu-devel, Stefan Hajnoczi

On Tue, 14 Aug 2012 14:45:17 -0500
Anthony Liguori <aliguori@us.ibm.com> wrote:

> Luiz Capitulino <lcapitulino@redhat.com> writes:
> 
> > On Tue, 14 Aug 2012 08:32:31 -0500
> > Anthony Liguori <aliguori@us.ibm.com> wrote:
> >
> >> To be replaced with live block copy.
> >> 
> >> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> >> ---
> >>  migration.c |    9 +++++++++
> >>  1 files changed, 9 insertions(+), 0 deletions(-)
> >> 
> >> diff --git a/migration.c b/migration.c
> >> index 653a3c1..babccf4 100644
> >> --- a/migration.c
> >> +++ b/migration.c
> >> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
> >>      MigrationParams params;
> >>      const char *p;
> >>      int ret;
> >> +    static bool suppress_deprecation_message;
> >>  
> >>      params.blk = blk;
> >>      params.shared = inc;
> >>  
> >> +    if (blk && !suppress_deprecation_message) {
> >> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> >> +                      "Block migration is deprecated.  "
> >> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> >> +                      "for an alternative syntax.");
> >
> > Why not error_set()?
> 
> Because we fall through (we don't fail).  This is just a warning.
> 
> If you error_set(), then the migration command fails.  We don't want it
> to fail.
> 
> I guess qerror_report will do that too :-(
> 
> I'll change it to an fprintf :-((

Yes, I'd also add a monitor_printf() call to hmp_migrate() and a note to
the schema.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 20:25     ` Markus Armbruster
@ 2012-08-14 20:32       ` Luiz Capitulino
  0 siblings, 0 replies; 20+ messages in thread
From: Luiz Capitulino @ 2012-08-14 20:32 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Kevin Wolf, Paolo Bonzini, Anthony Liguori, qemu-devel, Stefan Hajnoczi

On Tue, 14 Aug 2012 22:25:40 +0200
Markus Armbruster <armbru@redhat.com> wrote:

> Anthony Liguori <aliguori@us.ibm.com> writes:
> 
> > Luiz Capitulino <lcapitulino@redhat.com> writes:
> >
> >> On Tue, 14 Aug 2012 08:32:31 -0500
> >> Anthony Liguori <aliguori@us.ibm.com> wrote:
> >>
> >>> To be replaced with live block copy.
> >>> 
> >>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> >>> ---
> >>>  migration.c |    9 +++++++++
> >>>  1 files changed, 9 insertions(+), 0 deletions(-)
> >>> 
> >>> diff --git a/migration.c b/migration.c
> >>> index 653a3c1..babccf4 100644
> >>> --- a/migration.c
> >>> +++ b/migration.c
> >>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
> >>>      MigrationParams params;
> >>>      const char *p;
> >>>      int ret;
> >>> +    static bool suppress_deprecation_message;
> >>>  
> >>>      params.blk = blk;
> >>>      params.shared = inc;
> >>>  
> >>> +    if (blk && !suppress_deprecation_message) {
> >>> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> >>> +                      "Block migration is deprecated.  "
> >>> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> >>> +                      "for an alternative syntax.");
> >>
> >> Why not error_set()?
> >
> > Because we fall through (we don't fail).  This is just a warning.
> >
> > If you error_set(), then the migration command fails.  We don't want it
> > to fail.
> >
> > I guess qerror_report will do that too :-(
> >
> > I'll change it to an fprintf :-((
> 
> Please use error_report(), to ensure it's visible in the monitor.

The user targeted warning should be added to hmp_migrate(), where we can
use monitor_printf(). The fprintf() call is fine here, for those who use
qmp and get stuff written to stderr logged.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 14:42 ` Stefan Hajnoczi
@ 2012-08-15  8:12   ` Ruben Kerkhof
  2012-08-15 12:38     ` Stefan Hajnoczi
  2012-08-18 19:10   ` Paolo Bonzini
  1 sibling, 1 reply; 20+ messages in thread
From: Ruben Kerkhof @ 2012-08-15  8:12 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Kevin Wolf, Paolo Bonzini, Anthony Liguori, qemu-devel

On Tue, Aug 14, 2012 at 4:42 PM, Stefan Hajnoczi
<stefanha@linux.vnet.ibm.com> wrote:
> On Tue, Aug 14, 2012 at 08:32:31AM -0500, Anthony Liguori wrote:
>> To be replaced with live block copy.
>>
>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>> ---
>>  migration.c |    9 +++++++++
>>  1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/migration.c b/migration.c
>> index 653a3c1..babccf4 100644
>> --- a/migration.c
>> +++ b/migration.c
>> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>>      MigrationParams params;
>>      const char *p;
>>      int ret;
>> +    static bool suppress_deprecation_message;
>>
>>      params.blk = blk;
>>      params.shared = inc;
>>
>> +    if (blk && !suppress_deprecation_message) {
>> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
>
> qerror_report_once() would be nice :).
>
>> +                      "Block migration is deprecated.  "
>> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
>
> The page doesn't exist, I think it should be:
> http://wiki.qemu.org/Features/LiveBlockMigration

Can the new live block copy method still use tcp just like the current
block migration? The wiki page only mentions iscsi.
I make extensive use of block migration over tcp, which works fine and
is handled by libvirt. I'd rather not introduce iscsi in my
environment.

Kind regards,

Ruben

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-15  8:12   ` Ruben Kerkhof
@ 2012-08-15 12:38     ` Stefan Hajnoczi
  2012-08-16  7:37       ` Ruben Kerkhof
  2012-08-18 19:08       ` Paolo Bonzini
  0 siblings, 2 replies; 20+ messages in thread
From: Stefan Hajnoczi @ 2012-08-15 12:38 UTC (permalink / raw)
  To: Ruben Kerkhof; +Cc: Kevin Wolf, Paolo Bonzini, Anthony Liguori, qemu-devel

On Wed, Aug 15, 2012 at 10:12:42AM +0200, Ruben Kerkhof wrote:
> On Tue, Aug 14, 2012 at 4:42 PM, Stefan Hajnoczi
> <stefanha@linux.vnet.ibm.com> wrote:
> > On Tue, Aug 14, 2012 at 08:32:31AM -0500, Anthony Liguori wrote:
> >> To be replaced with live block copy.
> >>
> >> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> >> ---
> >>  migration.c |    9 +++++++++
> >>  1 files changed, 9 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/migration.c b/migration.c
> >> index 653a3c1..babccf4 100644
> >> --- a/migration.c
> >> +++ b/migration.c
> >> @@ -482,10 +482,19 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
> >>      MigrationParams params;
> >>      const char *p;
> >>      int ret;
> >> +    static bool suppress_deprecation_message;
> >>
> >>      params.blk = blk;
> >>      params.shared = inc;
> >>
> >> +    if (blk && !suppress_deprecation_message) {
> >> +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> >
> > qerror_report_once() would be nice :).
> >
> >> +                      "Block migration is deprecated.  "
> >> +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> >
> > The page doesn't exist, I think it should be:
> > http://wiki.qemu.org/Features/LiveBlockMigration
> 
> Can the new live block copy method still use tcp just like the current
> block migration? The wiki page only mentions iscsi.
> I make extensive use of block migration over tcp, which works fine and
> is handled by libvirt. I'd rather not introduce iscsi in my
> environment.

The new live block copy approach is different and that's why classic
block migration is only deprecated but not dropped:

Live block copy doesn't transfer data in-band during live migration.
Instead it currently requires storage access from both hosts, for
example:
1. NFS or CIFS
2. iSCSI or NBD

I think when classic block migration is removed for good it should be
just as easy to use through libvirt using TCP because that's still a
valid use case and probably the simplest one to get started.  (Libvirt
could orchestrate an NBD connection behind the scenes, for example.)

Stefan

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-15 12:38     ` Stefan Hajnoczi
@ 2012-08-16  7:37       ` Ruben Kerkhof
  2012-08-18 19:08       ` Paolo Bonzini
  1 sibling, 0 replies; 20+ messages in thread
From: Ruben Kerkhof @ 2012-08-16  7:37 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Kevin Wolf, Paolo Bonzini, Anthony Liguori, qemu-devel

Hi Stefan,

Thanks for your explanation.

On Wed, Aug 15, 2012 at 2:38 PM, Stefan Hajnoczi
<stefanha@linux.vnet.ibm.com> wrote:
> I think when classic block migration is removed for good it should be
> just as easy to use through libvirt using TCP because that's still a
> valid use case and probably the simplest one to get started.  (Libvirt
> could orchestrate an NBD connection behind the scenes, for example.)

I really don't care which protocol is used, as long as libvirt handles
it for me.

Kind regards,

Ruben

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-15 12:38     ` Stefan Hajnoczi
  2012-08-16  7:37       ` Ruben Kerkhof
@ 2012-08-18 19:08       ` Paolo Bonzini
  2012-08-19  8:13         ` Ruben Kerkhof
  1 sibling, 1 reply; 20+ messages in thread
From: Paolo Bonzini @ 2012-08-18 19:08 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Kevin Wolf, Anthony Liguori, Ruben Kerkhof, qemu-devel

Il 15/08/2012 14:38, Stefan Hajnoczi ha scritto:
> The new live block copy approach is different and that's why classic
> block migration is only deprecated but not dropped:
> 
> Live block copy doesn't transfer data in-band during live migration.
> Instead it currently requires storage access from both hosts, for
> example:
> 1. NFS or CIFS
> 2. iSCSI or NBD
> 
> I think when classic block migration is removed for good it should be
> just as easy to use through libvirt using TCP because that's still a
> valid use case and probably the simplest one to get started.  (Libvirt
> could orchestrate an NBD connection behind the scenes, for example.)

That's correct.  Live block migration will use two ports, both served by
the destination, one using NBD and one for RAM/device migration data.
It will be a little more complicated than just migrate -b, but nothing
that libvirt cannot orchestrate.

Paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-14 14:42 ` Stefan Hajnoczi
  2012-08-15  8:12   ` Ruben Kerkhof
@ 2012-08-18 19:10   ` Paolo Bonzini
  1 sibling, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2012-08-18 19:10 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: Kevin Wolf, Anthony Liguori, qemu-devel

Il 14/08/2012 16:42, Stefan Hajnoczi ha scritto:
>> > 
>> > +    if (blk && !suppress_deprecation_message) {
>> > +        qerror_report(ERROR_CLASS_GENERIC_ERROR,
> qerror_report_once() would be nice :).
> 
>> > +                      "Block migration is deprecated.  "
>> > +                      "See http://wiki.qemu.org/Features/LiveBlockCopy "
> The page doesn't exist, I think it should be:
> http://wiki.qemu.org/Features/LiveBlockMigration
> 

Since the plan (NBD in-process server + mirroring job) is a bit
different from what is in that page, perhaps we could just ask to tell
qemu-devel@nongnu.org about their use case and useful information
(performance, guest load etc.).

paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-18 19:08       ` Paolo Bonzini
@ 2012-08-19  8:13         ` Ruben Kerkhof
  2012-08-20  8:23           ` Paolo Bonzini
  0 siblings, 1 reply; 20+ messages in thread
From: Ruben Kerkhof @ 2012-08-19  8:13 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Kevin Wolf, Anthony Liguori, Stefan Hajnoczi, qemu-devel

On Sat, Aug 18, 2012 at 9:08 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> That's correct.  Live block migration will use two ports, both served by
> the destination, one using NBD and one for RAM/device migration data.
> It will be a little more complicated than just migrate -b, but nothing
> that libvirt cannot orchestrate.

Will I still be able to cap the migration bandwidth?
And how about security? Libvirt can tunnel the data, I believe by
passing an fd to qemu, and encrypting the connection with TLS.

Thanks,

Ruben

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-19  8:13         ` Ruben Kerkhof
@ 2012-08-20  8:23           ` Paolo Bonzini
  2012-08-20  8:47             ` Ruben Kerkhof
  0 siblings, 1 reply; 20+ messages in thread
From: Paolo Bonzini @ 2012-08-20  8:23 UTC (permalink / raw)
  To: Ruben Kerkhof; +Cc: Kevin Wolf, Anthony Liguori, Stefan Hajnoczi, qemu-devel

Il 19/08/2012 10:13, Ruben Kerkhof ha scritto:
>> > That's correct.  Live block migration will use two ports, both served by
>> > the destination, one using NBD and one for RAM/device migration data.
>> > It will be a little more complicated than just migrate -b, but nothing
>> > that libvirt cannot orchestrate.
> Will I still be able to cap the migration bandwidth?

Yes, though you will have to cap the two bandwidths separately.

> And how about security? Libvirt can tunnel the data, I believe by
> passing an fd to qemu, and encrypting the connection with TLS.

Libvirt can do the same on the NBD connection.

Paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release
  2012-08-20  8:23           ` Paolo Bonzini
@ 2012-08-20  8:47             ` Ruben Kerkhof
  0 siblings, 0 replies; 20+ messages in thread
From: Ruben Kerkhof @ 2012-08-20  8:47 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Kevin Wolf, Anthony Liguori, Stefan Hajnoczi, qemu-devel

On Mon, Aug 20, 2012 at 10:23 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 19/08/2012 10:13, Ruben Kerkhof ha scritto:
>>> > That's correct.  Live block migration will use two ports, both served by
>>> > the destination, one using NBD and one for RAM/device migration data.
>>> > It will be a little more complicated than just migrate -b, but nothing
>>> > that libvirt cannot orchestrate.
>> Will I still be able to cap the migration bandwidth?
>
> Yes, though you will have to cap the two bandwidths separately.
>
>> And how about security? Libvirt can tunnel the data, I believe by
>> passing an fd to qemu, and encrypting the connection with TLS.
>
> Libvirt can do the same on the NBD connection.
>
> Paolo

Thanks, that's good to know.

Ruben

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2012-08-20  8:47 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-14 13:32 [Qemu-devel] [PATCH] block-migration: deprecate block migration for the 1.2 release Anthony Liguori
2012-08-14 13:48 ` Kevin Wolf
2012-08-14 14:52   ` Luiz Capitulino
2012-08-14 15:02     ` Kevin Wolf
2012-08-14 15:48       ` Luiz Capitulino
2012-08-14 15:59         ` Kevin Wolf
2012-08-14 14:42 ` Stefan Hajnoczi
2012-08-15  8:12   ` Ruben Kerkhof
2012-08-15 12:38     ` Stefan Hajnoczi
2012-08-16  7:37       ` Ruben Kerkhof
2012-08-18 19:08       ` Paolo Bonzini
2012-08-19  8:13         ` Ruben Kerkhof
2012-08-20  8:23           ` Paolo Bonzini
2012-08-20  8:47             ` Ruben Kerkhof
2012-08-18 19:10   ` Paolo Bonzini
2012-08-14 14:49 ` Luiz Capitulino
2012-08-14 19:45   ` Anthony Liguori
2012-08-14 20:25     ` Markus Armbruster
2012-08-14 20:32       ` Luiz Capitulino
2012-08-14 20:26     ` Luiz Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.