

Teach blk_congestion_wait() to return the number of jiffies remaining.  This
is for debug, but it is also nicely consistent.



---

 drivers/block/ll_rw_blk.c |   10 +++++++---
 include/linux/blkdev.h    |    2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff -puN drivers/block/ll_rw_blk.c~blk_congestion_wait-return-remaining drivers/block/ll_rw_blk.c
--- 25/drivers/block/ll_rw_blk.c~blk_congestion_wait-return-remaining	2004-01-16 00:17:00.000000000 -0800
+++ 25-akpm/drivers/block/ll_rw_blk.c	2004-01-16 00:18:46.000000000 -0800
@@ -1889,18 +1889,22 @@ EXPORT_SYMBOL(blk_put_request);
  * Waits for up to @timeout jiffies for a queue (any queue) to exit congestion.
  * If no queues are congested then just wait for the next request to be
  * returned.
+ *
+ * Returns the number of jiffies remaining, this is zero, unless we returned
+ * before @timeout expired.
  */
-void blk_congestion_wait(int rw, long timeout)
+long blk_congestion_wait(int rw, long timeout)
 {
+	long ret;
 	DEFINE_WAIT(wait);
 	wait_queue_head_t *wqh = &congestion_wqh[rw];
 
 	blk_run_queues();
 	prepare_to_wait(wqh, &wait, TASK_UNINTERRUPTIBLE);
-	io_schedule_timeout(timeout);
+	ret = io_schedule_timeout(timeout);
 	finish_wait(wqh, &wait);
+	return ret;
 }
-
 EXPORT_SYMBOL(blk_congestion_wait);
 
 /*
diff -puN include/linux/blkdev.h~blk_congestion_wait-return-remaining include/linux/blkdev.h
--- 25/include/linux/blkdev.h~blk_congestion_wait-return-remaining	2004-01-16 00:17:11.000000000 -0800
+++ 25-akpm/include/linux/blkdev.h	2004-01-16 00:19:00.000000000 -0800
@@ -586,7 +586,7 @@ extern int blk_queue_init_tags(request_q
 extern void blk_queue_free_tags(request_queue_t *);
 extern int blk_queue_resize_tags(request_queue_t *, int);
 extern void blk_queue_invalidate_tags(request_queue_t *);
-extern void blk_congestion_wait(int rw, long timeout);
+extern long blk_congestion_wait(int rw, long timeout);
 
 extern void blk_rq_bio_prep(request_queue_t *, struct request *, struct bio *);
 extern void blk_rq_prep_restart(struct request *);

_
