From 1f80e608bb2dded2831bf4f8216f288b45d508c5 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 9 Nov 2003 15:17:43 -0800 Subject: [PATCH] [PATCH] AS: handle non-block requests From: Nick Piggin as_completed_request() can be called for requests which were not generated by the generic block layer. Handle these, to avoid a subsequent WARN_ON (at least). Also kill a separate WARN_ON which is bogusly triggering. --- drivers/block/as-iosched.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/block/as-iosched.c b/drivers/block/as-iosched.c index 47a7c2b098097..f902ad8d147e0 100644 --- a/drivers/block/as-iosched.c +++ b/drivers/block/as-iosched.c @@ -915,9 +915,10 @@ static void as_completed_request(request_queue_t *q, struct request *rq) if (unlikely(arq->state != AS_RQ_DISPATCHED)) return; - if (ad->changed_batch && ad->nr_dispatched == 1) { - WARN_ON(ad->batch_data_dir == arq->is_sync); + if (!blk_fs_request(rq)) + return; + if (ad->changed_batch && ad->nr_dispatched == 1) { kblockd_schedule_work(&ad->antic_work); ad->changed_batch = 0; @@ -933,7 +934,6 @@ static void as_completed_request(request_queue_t *q, struct request *rq) * and writeback caches */ if (ad->new_batch && ad->batch_data_dir == arq->is_sync) { - WARN_ON(ad->batch_data_dir != REQ_SYNC); update_write_batch(ad); ad->current_batch_expires = jiffies + ad->batch_expire[REQ_SYNC]; -- 2.53.0