On Fri, May 2, 2008 at 5:55 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Fri, May 02, 2008 at 05:53:22PM +0200, Bart Van Assche wrote: >> Regarding scsi_execute_async(): I didn't know that this API is on its >> way out. What will it be replaced by, and when ? > > blk_execute_rq/blk_execute_rq_nowait plus the block level helpers built > ontop to build requests. Source reading learned me that the function scsi_execute_async() calls blk_execute_rq_nowait() with 1 as fourth argument, which means that the request is inserted at the head of the queue. This means that requests queued with scsi_execute_async() are executed before other queued requests, and that this function has LIFO (last in first out) semantics. All non-SCSI calls to blk_execute_rq() / blk_execute_rq_nowait() add requests at the end of the queue (except those calls for terminating I/O). What is the background of this special behavior of the SCSI subsystem ? Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html