[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] qemu_file: use fwrite() correctly
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2] qemu_file: use fwrite() correctly |
Date: |
Tue, 18 Feb 2014 17:39:58 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Juan Quintela <address@hidden> writes:
> 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>
Reviewed-by: Markus Armbruster <address@hidden>