So, to partially answer myself: > scsipi/driver interaction (is there documentation on this?) I had missed the comprehensive scsipi(9) man page. I guess I mis-typed "scsipi" when looking for it.
> First question: what's the appropriate xs->error? So this has been answered both by me finding that man page and by Brian. > Second question: When repeatedly calling scsipi_done(), can it happen that > scsipi tries to re-queue these requests before I return? I would then loose > them when re-initializing the IOC. >From the man page, I guess this can be prevented by scsipi_channel_freeze()? > Third question: Do I need to care about xs->xs_callout? This has also been answerd by bot Brian and me finding the man page. I didn't realize that mpt(4) did itself set up that callout. > Or is returning everything to scsipi simply the wrong approach? Given there is XS_REQUEUE, I now think it's the right approach. But I may be wrong, of course.
