* [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: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 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 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-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
* 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-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 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 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 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
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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).