blk_sync_queue(9) cancel any pending callbacks on a queue


void blk_sync_queue(struct request_queue * q);



the queue


The block layer may perform asynchronous callback activity on a queue, such as calling the unplug function after a timeout. A block device may call blk_sync_queue to ensure that any such activity is cancelled, thus allowing it to release resources that the callbacks might use. The caller must already have made sure that its ->make_request_fn will not re-add plugging prior to calling this function.

This function does not cancel any asynchronous activity arising out of elevator or throttling code. That would require elevaotor_exit and blkcg_exit_queue to be called with queue lock initialized.