get_request(9) get a free request

SYNOPSIS

struct request * get_request(struct request_queue * q, int rw_flags, struct bio * bio, gfp_t gfp_mask);

ARGUMENTS

q

request_queue to allocate request from

rw_flags

RW and SYNC flags

bio

bio to allocate request for (can be NULL)

gfp_mask

allocation mask

DESCRIPTION

Get a free request from q. If __GFP_WAIT is set in gfp_mask, this function keeps retrying under memory pressure and fails iff q is dead.

Must be callled with q->queue_lock held and, Returns NULL on failure, with q->queue_lock held. Returns !NULL on success, with q->queue_lock *not held*.

COPYRIGHT