Scroll to navigation

ATTEMPT_PLUG_MERGE(9) Block Devices ATTEMPT_PLUG_MERGE(9)

NAME

attempt_plug_merge - try to merge with current's plugged list

SYNOPSIS

bool attempt_plug_merge(struct request_queue * q, struct bio * bio, unsigned int * request_count);

ARGUMENTS

q
request_queue new bio is being queued at
bio
new bio being queued
request_count
out parameter for number of traversed plugged requests

DESCRIPTION

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.
This function is called without q->queue_lock; however, elevator is accessed iff there already are requests on the plugged list which in turn guarantees validity of the elevator.
Note that, on successful merge, elevator operation elevator_bio_merged_fn will be called without queue lock. Elevator must be ready for this.

COPYRIGHT

March 2016 Kernel Hackers Manual 3.2.