Name

bio_alloc_bioset — allocate a bio for I/O

Synopsis

struct bio * bio_alloc_bioset (gfp_t gfp_mask,
 int nr_iovecs,
 struct bio_set * bs);
 

Arguments

gfp_mask

the GFP_ mask given to the slab allocator

nr_iovecs

number of iovecs to pre-allocate

bs

the bio_set to allocate from.

Description

bio_alloc_bioset will 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.

Note that the caller must set ->bi_destructor on successful return of a bio, to do the appropriate freeing of the bio once the reference count drops to zero.