This fix is pretty gross. Adding pages to bios can fail for all kinds of reasons, so the fix is to use bio_add_page and check its return value, and if it needs another bio keep looping and chaining more bios. And maybe capping the readahead to some sane upper bound still makes sense, but it should never look at BIO_MAX_VECS for that.