Re: [libvirt] [PATCH v3 0/9] Selective block device migration implementation

2015-06-03 Thread Kashyap Chamarthy
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

2015-06-03 Thread Eric Blake
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

2015-06-02 Thread Kashyap Chamarthy
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

2015-06-01 Thread Kashyap Chamarthy
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

2015-06-01 Thread John Ferlan


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

2015-06-01 Thread Kashyap Chamarthy
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