On Sun, Apr 10 2005, Lars Marowsky-Bree wrote: > On 2005-04-04T15:48:36, "goggin, edward" <egoggin@xxxxxxx> wrote: > > > In the interest of reducing delay time when testing either good or > > failed paths, could we (1) prevent SCSI mid-layer initiated i/o > > retry of these requests and (2) insert the test path i/os at the > > head of the path's block i/o queue? Doing either of these will > > require some kernel enhancement since there is no way to > > either request fail fast capability or insertion at queue head for > > a SCSI CDB issued from user space. > > > > Currently the scsi_cmd_ioctl->sg_io->blk_execute_rq code > > path for a multipath test i/o does not set the REQ_FAILFAST > > bit in the flags field of the request structure and unconditionally > > inserts the request at the tail of the request queue for the scsi > > device representing the scsi path being tested. > > > > Possibly the desire for each of these two attributes could be > > passed as a flag bit setting in the flag field of the sg_io_hdr > > structure passed into the kernel as part of the test path ioctl(2). > > Jens: Indeed, being able to inflict the equivalent of BIO_RW_FAILFAST on > a raw request from user-space would be desireable. > > Do you have any objections or suggestions how this could be done best? Makes sense. Edwards suggestion of just using the sghdr->flags to indicate both is fine. You only have to be careful with head injection not preempting an existing active request (not an issue on SCSI). But they are both definitely useful for testing, agree. -- Jens Axboe