Name

get_request — get a free request

Synopsis

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

Arguments

q

request_queue to allocate request from

op

REQ_OP_READ/REQ_OP_WRITE

op_flags

rq_flag_bits

bio

bio to allocate request for (can be NULL)

gfp_mask

allocation mask

Description

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

Must be called with q->queue_lock held and, Returns ERR_PTR on failure, with q->queue_lock held. Returns request pointer on success, with q->queue_lock *not held*.