|
@@ -92,11 +92,10 @@ EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
|
|
* Insert a fully prepared request at the back of the I/O scheduler queue
|
|
* Insert a fully prepared request at the back of the I/O scheduler queue
|
|
* for execution and wait for completion.
|
|
* for execution and wait for completion.
|
|
*/
|
|
*/
|
|
-int blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
|
|
|
|
|
|
+void blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
|
|
struct request *rq, int at_head)
|
|
struct request *rq, int at_head)
|
|
{
|
|
{
|
|
DECLARE_COMPLETION_ONSTACK(wait);
|
|
DECLARE_COMPLETION_ONSTACK(wait);
|
|
- int err = 0;
|
|
|
|
unsigned long hang_check;
|
|
unsigned long hang_check;
|
|
|
|
|
|
rq->end_io_data = &wait;
|
|
rq->end_io_data = &wait;
|
|
@@ -108,10 +107,5 @@ int blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
|
|
while (!wait_for_completion_io_timeout(&wait, hang_check * (HZ/2)));
|
|
while (!wait_for_completion_io_timeout(&wait, hang_check * (HZ/2)));
|
|
else
|
|
else
|
|
wait_for_completion_io(&wait);
|
|
wait_for_completion_io(&wait);
|
|
-
|
|
|
|
- if (rq->errors)
|
|
|
|
- err = -EIO;
|
|
|
|
-
|
|
|
|
- return err;
|
|
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(blk_execute_rq);
|
|
EXPORT_SYMBOL(blk_execute_rq);
|