I want to perform asynchronous I/O to a SCSI disk. I would expect there would be a callback mechanism. I read a section of "Linux Drivers, 3rd Edition" but it only describes a synchronous method using wait_for_completion.

Can someone give me a pointer to some documentation for this?