BIO_ALLOC_BIOSET(9) The Linux VFS BIO_ALLOC_BIOSET(9)
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. If NULL, just use kmalloc
DESCRIPTION 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.
COPYRIGHT Kernel Hackers Manual 2.6. April 2016 BIO_ALLOC_BIOSET(9)