[libvirt] [PATCH] esx: Fix floppy.fileName handling in the vmx file parser

Eric Blake eblake at redhat.com
Thu Oct 10 19:21:38 UTC 2013


On 10/09/2013 07:39 PM, Geoff Hickey wrote:
> The vmx file parsing code was reporting errors when parsing floppy.fileName
> entries if the filename didn't end in .flp. There is no such restriction in
> ESX; even using the GUI to configure floppy filenames you can specify any
> arbitrary file with any extension.
> 
> Fix by changing the vmx parsing code so that it uses the floppy.fileType
> value to determine whether floppy.fileName refers to a block device or a
> regular file.
> ---
>  src/vmx/vmx.c | 26 +++++---------------------
>  1 file changed, 5 insertions(+), 21 deletions(-)
> 
> diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
> index 38b7cc0..ffe7e7a 100644
> --- a/src/vmx/vmx.c
> +++ b/src/vmx/vmx.c
> @@ -2250,27 +2250,18 @@ virVMXParseDisk(virVMXContext *ctx,
> virDomainXMLOptionPtr xmlopt, virConfPtr con
>              goto cleanup;
>          }
>      } else if (device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) {
> -        if (virFileHasSuffix(fileName, ".flp")) {
> -            if (fileType != NULL) {
> -                if (STRCASENEQ(fileType, "file")) {
> -                    virReportError(VIR_ERR_INTERNAL_ERROR,
> -                                   _("Expecting VMX entry '%s' to be
> 'file' but "

Your mailer corrupted your patch.  Would you mind resending it via 'git
send-email', or at a bare minimum as an attachment rather than inline,
so that maintainers can just 'git am' it?

Applying: esx: Fix floppy.fileName handling in the vmx file parser
fatal: corrupt patch at line 10
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 esx: Fix floppy.fileName handling in the vmx file
parser

See also http://libvirt.org/hacking.html for hints.

> +        if (fileType != NULL && STRCASEEQ(fileType, "device")) {

It's simpler to just use a pointer variable in boolean context instead
of explicit comparison against NULL (this isn't Java).  As in:

if (fileType && STRCASEEQ(fileType, "device")) {

At any rate, your change looks reasonable to me; I wouldn't mind
applying it if you can resend to touch up those issues.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131010/f307bcdd/attachment-0001.sig>


More information about the libvir-list mailing list