Skip to content

Commit

Permalink
block: zoned: fix harmless maybe-uninitialized warning
Browse files Browse the repository at this point in the history
The blkdev_report_zones produces a harmless warning when
-Wmaybe-uninitialized is set, after gcc gets a little confused
about the multiple 'goto' here:

block/blk-zoned.c: In function 'blkdev_report_zones':
block/blk-zoned.c:188:13: error: 'nz' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Moving the assignment to nr_zones makes this a little simpler
while also avoiding the warning reliably. I'm removing the
extraneous initialization of 'int ret' in the same patch, as
that is semi-related and could cause an uninitialized use of
that variable to not produce a warning.

Fixes: 6a0cb1b ("block: Implement support for zoned block devices")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Shaun Tancheff <shaun.tancheff@seagate.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
  • Loading branch information
arndb authored and axboe committed Oct 25, 2016
1 parent 89d9475 commit 3c4da75
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions block/blk-zoned.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ int blkdev_report_zones(struct block_device *bdev,
unsigned int i, n, nz;
unsigned int ofst;
void *addr;
int ret = 0;
int ret;

if (!q)
return -ENXIO;
Expand Down Expand Up @@ -179,14 +179,12 @@ int blkdev_report_zones(struct block_device *bdev,

}

*nr_zones = nz;
out:
bio_for_each_segment_all(bv, bio, i)
__free_page(bv->bv_page);
bio_put(bio);

if (ret == 0)
*nr_zones = nz;

return ret;
}
EXPORT_SYMBOL_GPL(blkdev_report_zones);
Expand Down

0 comments on commit 3c4da75

Please sign in to comment.