On Fri, 2003-07-18 at 12:46, Mark Haverkamp wrote: > I'll try out your test harness on our hardware and see what happens. OK, I think I found the problem. Parts of the SCSI and block code don't distinguish between queueing and requeueing, so they trip over the exact same error. The (fairly invasive) fix is to add an extra parameter to blk_insert_request to tell it if this is a reinsertion or a new request (patch attached--against Jens' previous one). With this, I now get the AS ioscheduler to survive my tests. Incidentally, I'm not sure whether scsi_requeue_command() counts as a reinsertion. It's used to redo I/O after end_that_request_first() but before end_that_request_last(). James