qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] qemu_file: use fwrite() correctly


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v2] qemu_file: use fwrite() correctly
Date: Tue, 18 Feb 2014 09:11:54 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

On 02/11/2014 05:00 PM, Juan Quintela wrote:
> fwrite() returns the number of items written.  But when there is one
> error, it can return a short write.
> 
> In the particular bug that I was tracking, I did a migration to a
> read-only filesystem.  And it was able to finish the migration
> correctly.  fwrite() never returned a negative error code, the 1st
> time it returns 0, after that it returns 4096. (migration writes
> chunks of about 14000 bytes).  And it was able to "complete" the
> migration with success (yes, reading the file was a bit more
> difficult).  On the 1st fwrite() for the read-only filesystem,
> it returns an errno of -EPIPE, that is exactly what has failed.
> 
> To add insult to injury, if your amount of memory was big enough (12GB
> on my case), it overwrote some important structure, and from them,
> malloc failed.  This check makes the problem go away.
> 
> Signed-off-by: Juan Quintela <address@hidden>
> ---
> 
> v2: a.k.a Paolo was right
> 
>     On the first call to fwrite() it returns 0, and errno is setup to
>     EPIPE, exactly what we wanted.
> 
>     Once here, improve the commit message.

Reviewed-by: Eric Blake <address@hidden>

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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]