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: http://horde.org/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 http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/