bio_alloc — allocate a new bio, memory pool backed
| struct bio * fsfuncbio_alloc ( | gfp_t gfp_mask, | 
| unsigned int nr_iovecs ); | 
   bio_alloc will allocate a bio and associated bio_vec array that can hold
   at least nr_iovecs entries. Allocations will be done from the
   fs_bio_set. Also see bio_alloc_bioset and bio_kmalloc.
   
   If __GFP_WAIT is set, then bio_alloc will always be able to allocate
   a bio. This is due to the mempool guarantees. To make this work, callers
   must never allocate more than 1 bio at a time from this pool. Callers
   that need to allocate more than 1 bio must always submit the previously
   allocated bio for IO before attempting to allocate a new one. Failure to
   do so can cause livelocks under memory pressure.