The kernel provides the function elv_next_request to obtain the first incomplete
request on the queue, that function returns NULL when there are no requests to be
processed. Note that elv_next_request does not remove the request from the queue. If
you call it twice with no intervening operations, it returns the same request struc-
ture both times.