On Mon, Jun 08, 2009 at 02:33:04PM -0500, Doug Goldstein wrote: > This patch adds a new function virFindFileInPath() and uses it to find > where a binary lives in the PATH environment variable. Using this, we > can dynamically find where utility functions exist (and if they even > exists). So such we remove the build-time check for qemu-img and make it > dynamic for kvm-img and qemu-img. Several distros uses kvm-img over > qemu-img when installing KVM. kvm-img also includes several patches > which Red Hat is trying to upstream with QEMU so this patch supports > those features which are commented out in libvirt when using kvm-img > > @@ -1277,17 +1273,45 @@ static int createQemuImg(virConnectPtr conn, > } > } > > + if ((create_tool = virFindFileInPath("kvm-img")) != NULL) > + use_kvmimg = 1; > + else if ((create_tool = virFindFileInPath("qemu-img")) != NULL) > + use_kvmimg = 0; > + else > + virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, > + _("unable to find kvm-img or qemu-img")); I think you missed a 'return -1' here, otherwise it'll go on to use a NULL 'create_tool' later. > + > + if (inputvol) { > + convargv[0] = create_tool; > + imgargv = convargv; > + } else if (vol->backingStore.path) { > + imgargvbacking[0] = create_tool; > + if (use_kvmimg) { > + imgargvbacking[6] = "-F"; > + imgargvbacking[7] = backingType; > + imgargvbacking[8] = vol->target.path; > + imgargvbacking[9] = size; > + } > + imgargv = imgargvbacking; > + } else { > + imgargvnormal[0] = create_tool; > + imgargv = imgargvnormal; > + } > + > + > /* Size in KB */ > snprintf(size, sizeof(size), "%llu", vol->capacity/1024); > > if (virRun(conn, imgargv, NULL) < 0) { > + VIR_FREE(imgargv[0]); > return -1; > } > > + VIR_FREE(imgargv[0]); > + > return 0; > } > Aside from that one possible bug, I think this is OK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list