[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