[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 |