get_request — get a free request
struct request * get_request ( | struct request_queue * q, |
| int op, | |
| int op_flags, | |
| struct bio * bio, | |
gfp_t gfp_mask); |
qrequest_queue to allocate request from
opREQ_OP_READ/REQ_OP_WRITE
op_flagsrq_flag_bits
bio
bio to allocate request for (can be NULL)
gfp_maskallocation mask
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*.