BIO_ALLOC(9) The Linux VFS BIO_ALLOC(9)NAMEbio_alloc - allocate a new bio, memory pool backed
SYNOPSIS
struct bio * bio_alloc(gfp_t gfp_mask, int nr_iovecs);
ARGUMENTS
gfp_mask
allocation mask to use
nr_iovecs
number of iovecs
DESCRIPTIONbio_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.
RETURNS
Pointer to new bio on success, NULL on failure.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 BIO_ALLOC(9)