Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On Wed, Jun 03, 2015 at 11:11:45AM -0600, Eric Blake wrote: > On 06/01/2015 02:41 PM, John Ferlan wrote: > > >> And, `make` seems to fail here: > >> > >> $ ~/tinker-space/libvirt/./autogen.sh --system > >> $ make -j4 > >> [. . .] > >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In > >> function 'qemuMigrationRun': > >> > >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: > >> error: 'format' may be used uninitialized in this function > >> [-Werror=maybe-uninitialized] > >> mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, > >> nbd_dest, > >> ^ > >> > >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: > >> note: 'format' was declared here > >> const char *format; > >> > >> > > > > See my response to 3/9. > > > > If you initialize to NULL you'll be able to compile. > > But you'll end up corrupting your guest if your source has a qcow2 > disk. The patch needs to be tweaked to mirror to NBD as "raw" rather > than as the source's format. Will wait for the next revision of this patch set to test. Also read your other response from here: https://www.redhat.com/archives/libvir-list/2015-June/msg00153.html > >> PS: Apologies if this ends up being a double email, the first email > >> was accidentally sent from my @fedoraproject.org address (which is > >> not subscribed to this list). > > Unsubscribed mails can still get through to the list, it just requires > a moderation delay on the first time an email address is seen. Yeah, I was hoping someone would let in only one of the messages. But, noted. :-) Thanks. -- /kashyap -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On 06/01/2015 02:41 PM, John Ferlan wrote: >> And, `make` seems to fail here: >> >> $ ~/tinker-space/libvirt/./autogen.sh --system >> $ make -j4 >> [. . .] >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In >> function 'qemuMigrationRun': >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: >> error: 'format' may be used uninitialized in this function >> [-Werror=maybe-uninitialized] >> mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, nbd_dest, >> ^ >> /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: >> note: 'format' was declared here >> const char *format; >> >> > > See my response to 3/9. > > If you initialize to NULL you'll be able to compile. But you'll end up corrupting your guest if your source has a qcow2 disk. The patch needs to be tweaked to mirror to NBD as "raw" rather than as the source's format. >> PS: Apologies if this ends up being a double email, the first email was >> accidentally sent from my @fedoraproject.org address (which is not >> subscribed to this list). Unsubscribed mails can still get through to the list, it just requires a moderation delay on the first time an email address is seen. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On Mon, Jun 01, 2015 at 04:41:34PM -0400, John Ferlan wrote: > On 06/01/2015 04:01 PM, Kashyap Chamarthy wrote: [. . .] > > $ git log --oneline | head -9 > > a98cb8d virsh: selective block device migration > > f57141e qemu: migration: selective block device migration > > 2757805 util: add virTypedParamsAddStringList > > 9b4e1be util: virTypedParams{Filter,PickStrings} > > 4385cf0 util: multi-value parameters in virTypedParamsAdd* > > f83965b util: multi-value virTypedParameter > > 89d6ddf qemuMigrationDriveMirror: Pass disk format to qemu > > dd81938 qemuMigrationBeginPhase: Fix function header indentation > > c98a95a virDomainDiskGetSource: Mark passed disk as 'const' > > > > And, `make` seems to fail here: > > > > $ ~/tinker-space/libvirt/./autogen.sh --system > > $ make -j4 > > [. . .] > > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In > > function 'qemuMigrationRun': > > > > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: > > error: 'format' may be used uninitialized in this function > > [-Werror=maybe-uninitialized] > > mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, > > nbd_dest, > > ^ > > > > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: > > note: 'format' was declared here > > const char *format; > > > > > > See my response to 3/9. > > If you initialize to NULL you'll be able to compile. Yep, initializing format to NULL results in a successful `make` invocation: $ git diff src/qemu/qemu_migration.c diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 5a8057e..0b83a2c 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1968,7 +1968,7 @@ qemuMigrationDriveMirror(virQEMUDriverPtr driver, for (i = 0; i < vm->def->ndisks; i++) { virDomainDiskDefPtr disk = vm->def->disks[i]; qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); -const char *format; +const char *format = NULL; int mon_ret; /* check whether disk should be migrated */ Thanks. -- /kashyap -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On Tue, May 26, 2015 at 03:01:42PM +0200, Michal Privoznik wrote: > I've taken Pavel's patches, reworked them a bit, added something and sending > v3. The original patches can be found here: > > https://www.redhat.com/archives/libvir-list/2015-May/msg00697.html > > Michal Privoznik (3): > virDomainDiskGetSource: Mark passed disk as 'const' > qemuMigrationBeginPhase: Fix function header indentation > qemuMigrationDriveMirror: Pass disk format to qemu > > Pavel Boldin (6): > util: multi-value virTypedParameter > util: multi-value parameters in virTypedParamsAdd* > util: virTypedParams{Filter,PickStrings} > util: add virTypedParamsAddStringList > qemu: migration: selective block device migration I've just applied this series on current git master: $ git describe v1.2.16-17-ga98cb8d $ git log --oneline | head -9 a98cb8d virsh: selective block device migration f57141e qemu: migration: selective block device migration 2757805 util: add virTypedParamsAddStringList 9b4e1be util: virTypedParams{Filter,PickStrings} 4385cf0 util: multi-value parameters in virTypedParamsAdd* f83965b util: multi-value virTypedParameter 89d6ddf qemuMigrationDriveMirror: Pass disk format to qemu dd81938 qemuMigrationBeginPhase: Fix function header indentation c98a95a virDomainDiskGetSource: Mark passed disk as 'const' And, `make` seems to fail here: $ ~/tinker-space/libvirt/./autogen.sh --system $ make -j4 [. . .] /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In function 'qemuMigrationRun': /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: error: 'format' may be used uninitialized in this function [-Werror=maybe-uninitialized] mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, nbd_dest, ^ /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: note: 'format' was declared here const char *format; > virsh: selective block device migration -- /kashyap -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On 06/01/2015 04:01 PM, Kashyap Chamarthy wrote: > On Tue, May 26, 2015 at 03:01:42PM +0200, Michal Privoznik wrote: >> I've taken Pavel's patches, reworked them a bit, added something and sending >> v3. The original patches can be found here: >> >> https://www.redhat.com/archives/libvir-list/2015-May/msg00697.html >> >> Michal Privoznik (3): >> virDomainDiskGetSource: Mark passed disk as 'const' >> qemuMigrationBeginPhase: Fix function header indentation >> qemuMigrationDriveMirror: Pass disk format to qemu >> >> Pavel Boldin (6): >> util: multi-value virTypedParameter >> util: multi-value parameters in virTypedParamsAdd* >> util: virTypedParams{Filter,PickStrings} >> util: add virTypedParamsAddStringList >> qemu: migration: selective block device migration >> virsh: selective block device migration > > I've just applied this series on current git master: > > $ git describe > v1.2.16-17-ga98cb8d > > $ git log --oneline | head -9 > a98cb8d virsh: selective block device migration > f57141e qemu: migration: selective block device migration > 2757805 util: add virTypedParamsAddStringList > 9b4e1be util: virTypedParams{Filter,PickStrings} > 4385cf0 util: multi-value parameters in virTypedParamsAdd* > f83965b util: multi-value virTypedParameter > 89d6ddf qemuMigrationDriveMirror: Pass disk format to qemu > dd81938 qemuMigrationBeginPhase: Fix function header indentation > c98a95a virDomainDiskGetSource: Mark passed disk as 'const' > > And, `make` seems to fail here: > > $ ~/tinker-space/libvirt/./autogen.sh --system > $ make -j4 > [. . .] > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In > function 'qemuMigrationRun': > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: > error: 'format' may be used uninitialized in this function > [-Werror=maybe-uninitialized] > mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, nbd_dest, > ^ > /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: > note: 'format' was declared here > const char *format; > > See my response to 3/9. If you initialize to NULL you'll be able to compile. John > > PS: Apologies if this ends up being a double email, the first email was > accidentally sent from my @fedoraproject.org address (which is not > subscribed to this list). > > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation
On Tue, May 26, 2015 at 03:01:42PM +0200, Michal Privoznik wrote: > I've taken Pavel's patches, reworked them a bit, added something and sending > v3. The original patches can be found here: > > https://www.redhat.com/archives/libvir-list/2015-May/msg00697.html > > Michal Privoznik (3): > virDomainDiskGetSource: Mark passed disk as 'const' > qemuMigrationBeginPhase: Fix function header indentation > qemuMigrationDriveMirror: Pass disk format to qemu > > Pavel Boldin (6): > util: multi-value virTypedParameter > util: multi-value parameters in virTypedParamsAdd* > util: virTypedParams{Filter,PickStrings} > util: add virTypedParamsAddStringList > qemu: migration: selective block device migration > virsh: selective block device migration I've just applied this series on current git master: $ git describe v1.2.16-17-ga98cb8d $ git log --oneline | head -9 a98cb8d virsh: selective block device migration f57141e qemu: migration: selective block device migration 2757805 util: add virTypedParamsAddStringList 9b4e1be util: virTypedParams{Filter,PickStrings} 4385cf0 util: multi-value parameters in virTypedParamsAdd* f83965b util: multi-value virTypedParameter 89d6ddf qemuMigrationDriveMirror: Pass disk format to qemu dd81938 qemuMigrationBeginPhase: Fix function header indentation c98a95a virDomainDiskGetSource: Mark passed disk as 'const' And, `make` seems to fail here: $ ~/tinker-space/libvirt/./autogen.sh --system $ make -j4 [. . .] /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c: In function 'qemuMigrationRun': /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1997:17: error: 'format' may be used uninitialized in this function [-Werror=maybe-uninitialized] mon_ret = qemuMonitorDriveMirror(priv->mon, diskAlias, nbd_dest, ^ /home/kashyapc/tinker-space/libvirt/./src/qemu/qemu_migration.c:1971:21: note: 'format' was declared here const char *format; PS: Apologies if this ends up being a double email, the first email was accidentally sent from my @fedoraproject.org address (which is not subscribed to this list). -- /kashyap -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list