bio_alloc_bioset

Langue: en

Version: May 2009 (fedora - 06/07/09)

Section: 9 (Appels noyau Linux)

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.