Section: Block Devices (9)
Updated: February 2011
Index Return to Main Contents


blk_rq_check_limits - Helper function to check a request for the queue limit  


int blk_rq_check_limits(struct request_queue * q, struct request * rq);



the queue


the request being checked


rq may have been made based on weaker limitations of upper-level queues in request stacking drivers, and it may violate the limitation of q. Since the block layer and the underlying device driver trust rq after it is inserted to q, it should be checked against q before the insertion using this generic function.

This function should also be useful for request stacking drivers in some cases below, so export this function. Request stacking drivers like request-based dm may change the queue limits while requests are in the queue (e.g. dm's table swapping). Such request stacking drivers should check those requests agaist the new queue limits again when they dispatch those requests, although such checkings are also done against the old queue limits when submitting requests.