On Wed, Sep 2, 2015 at 9:58 AM, Jens Axboe <axboe@xxxxxx> wrote:
This pull request contains a set of scatter-gather related changes/fixes
for 4.3. It contains:
This results in several new and annoying warnings. They may all be ok
code, but they are very distracting. Please stop introducing new
warnings to the build, because by now most of the warnings I see come
from the block layer.
block/blk-merge.c: In function âblk_queue_splitâ:
include/linux/blkdev.h:1368:21: warning: âbvprv.bv_offsetâ may be
used uninitialized in this function [-Wmaybe-uninitialized]
((bprv->bv_offset + bprv->bv_len) & queue_virt_boundary(q));
(it gives this for bv_len too). The reason seems to be that disgusting
situation where "bvprv" is uninitiatlized unless "split" is true, and
the code looks like it is correct, but the compiler clearly has a hard
time seeing it. It took me a while too, so I can't really blame it.
Either initialize bvprv to something explicit, or make the code clear
enough that the compiler can see that it is never used uninitialized.
Because those compiler warnings are sometimes real, and we can't just
There was another type-based warning introduced by your core block
pull (size_t vs unsigned int).