On Wed, Feb 20, 2013 at 14:47:11 +0100, Jiri Denemark wrote:
...
> +static int
> +qemuMigrationPreCreateStorage(virQEMUDriverPtr driver,
> + virDomainObjPtr vm,
> + qemuMigrationCookiePtr mig)
> +{
> + int ret = -1;
> + size_t i = 0;
> +
> + if (!mig->nbd || !mig->nbd->ndisks) {
> + /* nothing to do here */
> + return 0;
> + }
> +
> + for (i = 0; i < mig->nbd->ndisks; i++) {
> + virDomainDiskDefPtr disk;
> + int format;
> + size_t bytes;
> + int index;
This fails to compile:
error: declaration of 'index' shadows a global declaration
> +
> + index = virDomainDiskIndexByName(vm->def,
mig->nbd->disk[i].target, false);
> + if (index < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("No such disk '%s"),
> + mig->nbd->disk[i].target);
> + goto cleanup;
> + }
> +
> + disk = vm->def->disks[i];
As John already said, I think you want vm->def->disks[index] here.
> + format = disk->format;
> + bytes = mig->nbd->disk[i].bytes;
Oh, and I forgot to mention that we should only try to pre-create disks
with type='file'.
Jirka