bio_alloc_bioset — allocate a bio for I/O
struct bio * bio_alloc_bioset ( | gfp_t gfp_mask, |
| int nr_iovecs, | |
struct bio_set * bs); |
gfp_maskthe GFP_ mask given to the slab allocator
nr_iovecsnumber of iovecs to pre-allocate
bs
the bio_set to allocate from. If NULL, just use kmalloc
bio_alloc_bioset will first try its own mempool to satisfy the allocation.
If __GFP_WAIT is set then we will block on the internal pool waiting
for a struct bio to become free. If a NULL bs is passed in, we will
fall back to just using kmalloc to allocate the required memory.
Note that the caller must set ->bi_destructor on succesful return of a bio, to do the appropriate freeing of the bio once the reference count drops to zero.