On 05/26/2015 09:01 AM, Michal Privoznik wrote: > From: Pavel Boldin <pboldin@xxxxxxxxxxxx> > > Add `virsh migrate' option `--migratedisks' that allows CLI user to > explicitly specify block devices to migrate. > > Signed-off-by: Pavel Boldin <pboldin@xxxxxxxxxxxx> > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > tools/virsh-domain.c | 23 +++++++++++++++++++++++ > tools/virsh.pod | 21 ++++++++++++--------- > 2 files changed, 35 insertions(+), 9 deletions(-) > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c > index 91a1ca2..41d3829 100644 > --- a/tools/virsh-domain.c > +++ b/tools/virsh-domain.c > @@ -9889,6 +9889,10 @@ static const vshCmdOptDef opts_migrate[] = { > .type = VSH_OT_STRING, > .help = N_("filename containing updated XML for the target") > }, > + {.name = "migratedisks", > + .type = VSH_OT_STRING, > + .help = N_("comma separated list of disks to be migrated") > + }, > {.name = NULL} > }; > > @@ -9948,6 +9952,25 @@ doMigrate(void *opaque) > VIR_MIGRATE_PARAM_DEST_NAME, opt) < 0) > goto save_error; > > + if (vshCommandOptStringReq(ctl, cmd, "migratedisks", &opt) < 0) > + goto out; > + if (opt) { > + char **val = NULL; > + > + val = virStringSplit(opt, ",", 0); > + > + if (virTypedParamsAddStringList(¶ms, > + &nparams, > + &maxparams, > + VIR_MIGRATE_PARAM_MIGRATE_DISKS, > + (const char **)val) < 0) { > + VIR_FREE(val); > + goto save_error; > + } > + > + VIR_FREE(val); > + } > + > if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) > goto out; > if (opt) { > diff --git a/tools/virsh.pod b/tools/virsh.pod > index d588e5a..9275091 100644 > --- a/tools/virsh.pod > +++ b/tools/virsh.pod > @@ -1521,6 +1521,7 @@ to the I<uri> namespace is displayed instead of being modified. > [I<--compressed>] [I<--abort-on-error>] [I<--auto-converge>] > I<domain> I<desturi> [I<migrateuri>] [I<graphicsuri>] [I<listen-address>] > [I<dname>] [I<--timeout> B<seconds>] [I<--xml> B<file>] > +[I<--migratedisks> B<disk-list>] > > Migrate domain to another host. Add I<--live> for live migration; <--p2p> > for peer-2-peer migration; I<--direct> for direct migration; or I<--tunnelled> > @@ -1536,15 +1537,17 @@ with incremental copy (same base image shared between source and destination). > In both cases the disk images have to exist on destination host, the > I<--copy-storage-...> options only tell libvirt to transfer data from the > images on source host to the images found at the same place on the destination > -host. I<--change-protection> enforces that no incompatible configuration > -changes will be made to the domain while the migration is underway; this flag > -is implicitly enabled when supported by the hypervisor, but can be explicitly > -used to reject the migration if the hypervisor lacks change protection > -support. I<--verbose> displays the progress of migration. I<--compressed> > -activates compression of memory pages that have to be transferred repeatedly > -during live migration. I<--abort-on-error> cancels the migration if a soft > -error (for example I/O error) happens during the migration. I<--auto-converge> > -forces convergence during live migration. > +host. By default only non-shared non-readonly images are transfered. Use > +I<--migratedisks> to explicitly specify a list of disk targets to transfer. > +B<disk-list> is a comma separated list then. I<--change-protection> enforces > +that no incompatible configuration changes will be made to the domain while the > +migration is underway; this flag is implicitly enabled when supported by the > +hypervisor, but can be explicitly used to reject the migration if the > +hypervisor lacks change protection support. I<--verbose> displays the progress > +of migration. I<--compressed> activates compression of memory pages that have > +to be transferred repeatedly during live migration. I<--abort-on-error> cancels > +the migration if a soft error (for example I/O error) happens during the > +migration. I<--auto-converge> forces convergence during live migration. > > B<Note>: Individual hypervisors usually do not support all possible types of > migration. For example, QEMU does not support direct migration. > Assuming the new text is: "By default only non-shared non-readonly images are transfered. Use I<--migratedisks> to explicitly specify a list of disk targets to transfer. B<disk-list> is a comma separated list then." Change to: "By default only non-shared non-readonly images are transferred. Use I<--migratedisks> to explicitly specify a list of disk targets to transfer via the comma separated B<disk-list> argument." Note: transfered was misspelled... [I just searched on "comma " in the existing document to find a few different examples...] ACK (although existing still holds too!) John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list