Building rbd.o triggers two GCC warnings: drivers/block/rbd.c: In function ‘rbd_img_request_fill’: drivers/block/rbd.c:1272:22: warning: ‘bio_list’ may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/block/rbd.c:2170:14: note: ‘bio_list’ was declared here drivers/block/rbd.c:2231:10: warning: ‘pages’ may be used uninitialized in this function [-Wmaybe-uninitialized] Apparently GCC has trouble determining that "bio_list" is unused if "type" is "OBJ_REQUEST_PAGES" and, conversely, that "pages" will be unused if "type" is "OBJ_REQUEST_BIO". Add harmless initializations to NULL to help GCC. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> --- 0) Compile tested only. 1) These warnings were introduced in v3.10-rc1, apparently through commit f1a4739f33 ("rbd: support page array image requests"). 2) Note that rbd_assert(type == OBJ_REQUEST_PAGES); seems redundant. I see no way that this assertion could ever be false. drivers/block/rbd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 3063452..b8a58178 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -2185,9 +2185,11 @@ static int rbd_img_request_fill(struct rbd_img_request *img_request, if (type == OBJ_REQUEST_BIO) { bio_list = data_desc; rbd_assert(img_offset == bio_list->bi_sector << SECTOR_SHIFT); + pages = NULL; } else { rbd_assert(type == OBJ_REQUEST_PAGES); pages = data_desc; + bio_list = NULL; } while (resid) { -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html