|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 07 of 18] tools/blktap2: fix build errors caused by Werror in tdqcow_get_parent_id
Olaf Hering writes ("[Xen-devel] [PATCH 07 of 18] tools/blktap2: fix build
errors caused by Werror in tdqcow_get_parent_id"):
> tools/blktap2: fix build errors caused by Werror in tdqcow_get_parent_id
>
> -O2 -Wall -Werror triggers these warnings:
>
> block-qcow.c: In function 'tdqcow_get_parent_id':
> block-qcow.c:1457:17: warning: 'type' may be used uninitialized in this
> function [-Wuninitialized]
>
> The compiler can not know that open() writes to errno so it has to
> assume that errno can be zero.
Yes.
> Since tdqcow_get_image_type() has just
> one caller which expects a bool as return type, adjust return codes so
> that the compiler knows when 'type' is initialised.
I don't think this is a step in the right direction. In a better
world the caller would report the errno value. Throwing the errno
value away is not an improvement.
> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
>
> diff -r 51c773447549 -r 16f6fc42abaa tools/blktap2/drivers/block-qcow.c
> --- a/tools/blktap2/drivers/block-qcow.c
> +++ b/tools/blktap2/drivers/block-qcow.c
> @@ -1408,12 +1408,12 @@ tdqcow_get_image_type(const char *file,
>
> fd = open(file, O_RDONLY);
> if (fd == -1)
> - return -errno;
> + return -1;
This can be fixed here by adding
assert(errno);
> size = read(fd, &header, sizeof(header));
> close(fd);
> if (size != sizeof(header))
> - return (errno ? -errno : -EIO);
> + return -1;
And this seems not to have a problem; surely just leaving it unchanged
is sufficient ?
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |