blk_attempt_plug_merge — 
     try to merge with current's plugged list
 
| bool blk_attempt_plug_merge ( | struct request_queue * q, | 
| struct bio * bio, | |
| unsigned int * request_count ); | 
qrequest_queue new bio is being queued at
bionew bio being queued
request_countout parameter for number of traversed plugged requests
   Determine whether bio being queued on q can be merged with a request
   on current's plugged list.  Returns true if merge was successful,
   otherwise false.
   
   Plugging coalesces IOs from the same issuer for the same purpose without
   going through q->queue_lock.  As such it's more of an issuing mechanism
   than scheduling, and the request, while may have elvpriv data, is not
   added on the elevator at this point.  In addition, we don't have
   reliable access to the elevator outside queue lock.  Only check basic
   merging parameters without querying the elevator.
   
Caller must ensure !blk_queue_nomerges(q) beforehand.