Limit bio_alloc() size to the maximum possible value, or it will always fail.
b=9945
i=johann
frags++;
}
- /* allocate new bio */
- bio = bio_alloc(GFP_NOIO,
- (npages - page_idx) * blocks_per_page);
+ /* allocate new bio, limited by max BIO size, b=9945 */
+ bio = bio_alloc(GFP_NOIO, max(BIO_MAX_PAGES,
+ (npages - page_idx) *
+ blocks_per_page));
if (bio == NULL) {
CERROR("Can't allocate bio %u*%u = %u pages\n",
(npages - page_idx), blocks_per_page,