[Libguestfs] [PATCH] Check error returns from posix_fallocate (RHBZ#579664).
Jim Meyering
jim at meyering.net
Tue Apr 6 11:08:51 UTC 2010
Richard W.M. Jones wrote:
> Subject: [PATCH] Check error returns from posix_fallocate (RHBZ#579664).
>
> posix_fallocate has a non-standard way to return error indications.
> Thus all our calls to posix_fallocate were effectively unchecked. For
> example:
>
> $ guestfish alloc test.img 1P
> $ echo $?
> 0
> $ ll test.img
> -rw-rw-r--. 1 rjones rjones 0 2010-04-06 11:02 test.img
> $ rm test.img
>
> With this change, errors are detected and reported properly:
>
> $ ./fish/guestfish alloc test.img 1P
> fallocate: File too large
>
> This is a fix for:
> https://bugzilla.redhat.com/show_bug.cgi?id=579664
> ---
> daemon/fallocate.c | 8 ++++----
> fish/alloc.c | 5 ++++-
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/daemon/fallocate.c b/daemon/fallocate.c
...
> + int err = posix_fallocate (fd, 0, len);
> + if (err != 0) {
> + errno = err;
Confirmed that those are the two sole uses (at least in my
out-of-date repo -- git pull fails, today), and that the fix
makes the usage agree with what POSIX and the posix_fallocate man
page say the function does.
What a shame to have *standardized* such a surprising interface.
ACK.
More information about the Libguestfs
mailing list