Block device request queue processing question

From: mcatos
Date: Sun Jun 10 2007 - 07:52:19 EST

I am developing a stacking block driver and so far the driver was accepting
requests using the 'make_request' function (without a queue). When I switched to
using a request queue, I noticed that the driver received much more reuquests in a
single call, which is very good for me.

The problem is that the driver must initiate I/O towards the physical device,
which cannot be done inside the function that services the requests. Is there a
way I can process all the request in a context where sleeping is permitted?

I tried to dequeue all the requests using 'blkdev_dequeue_request' but I do not
know how to properly handle request completion.

Thanx in advance.

This mail sent through IMP:

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at