aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@SteelEye.com>2005-06-20 08:11:09 -0400
committerJens Axboe <axboe@suse.de>2005-06-20 08:11:09 -0400
commit994ca9a19616f0d4161a9e825f0835925d522426 (patch)
tree0998252ed375929dca468440b7486d4c1104757f /drivers/block/ll_rw_blk.c
parentf63eb21b4f32028755b6b9d47e5eb13c18ba0cae (diff)
[PATCH] update blk_execute_rq to take an at_head parameter
Original From: Mike Christie <michaelc@cs.wisc.edu> Modified to split out block changes (this patch) and SCSI pieces. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/block/ll_rw_blk.c')
-rw-r--r--drivers/block/ll_rw_blk.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c
index 874e46fc3748..d260a2ce9a70 100644
--- a/drivers/block/ll_rw_blk.c
+++ b/drivers/block/ll_rw_blk.c
@@ -2269,13 +2269,14 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk,
2269 * @q: queue to insert the request in 2269 * @q: queue to insert the request in
2270 * @bd_disk: matching gendisk 2270 * @bd_disk: matching gendisk
2271 * @rq: request to insert 2271 * @rq: request to insert
2272 * @at_head: insert request at head or tail of queue
2272 * 2273 *
2273 * Description: 2274 * Description:
2274 * Insert a fully prepared request at the back of the io scheduler queue 2275 * Insert a fully prepared request at the back of the io scheduler queue
2275 * for execution. 2276 * for execution.
2276 */ 2277 */
2277int blk_execute_rq(request_queue_t *q, struct gendisk *bd_disk, 2278int blk_execute_rq(request_queue_t *q, struct gendisk *bd_disk,
2278 struct request *rq) 2279 struct request *rq, int at_head)
2279{ 2280{
2280 DECLARE_COMPLETION(wait); 2281 DECLARE_COMPLETION(wait);
2281 char sense[SCSI_SENSE_BUFFERSIZE]; 2282 char sense[SCSI_SENSE_BUFFERSIZE];
@@ -2294,7 +2295,7 @@ int blk_execute_rq(request_queue_t *q, struct gendisk *bd_disk,
2294 } 2295 }
2295 2296
2296 rq->waiting = &wait; 2297 rq->waiting = &wait;
2297 blk_execute_rq_nowait(q, bd_disk, rq, 0, blk_end_sync_rq); 2298 blk_execute_rq_nowait(q, bd_disk, rq, at_head, blk_end_sync_rq);
2298 wait_for_completion(&wait); 2299 wait_for_completion(&wait);
2299 rq->waiting = NULL; 2300 rq->waiting = NULL;
2300 2301
@@ -2361,7 +2362,7 @@ int blkdev_scsi_issue_flush_fn(request_queue_t *q, struct gendisk *disk,
2361 rq->data_len = 0; 2362 rq->data_len = 0;
2362 rq->timeout = 60 * HZ; 2363 rq->timeout = 60 * HZ;
2363 2364
2364 ret = blk_execute_rq(q, disk, rq); 2365 ret = blk_execute_rq(q, disk, rq, 0);
2365 2366
2366 if (ret && error_sector) 2367 if (ret && error_sector)
2367 *error_sector = rq->sector; 2368 *error_sector = rq->sector;