On 2022/12/19 22:53, John Garry wrote:
Are you sure you mean sas_abort_task()? That is for the LLDD to issue an
abort TMF. I assume that you mean sas_task_abort(). If so, I am not too
keen on the idea of libsas calling into the LLDD to inform of such an
event. Note that maybe a tagset iter function could be used by libsas to
abort each active IO, but I don't like libsas messing with such a thing;
in addition, there may be some conflict between libsas aborting the IO
and the IO completing with error in the LLDD.
Itering tagset in libsas is odd.
The question is, shall we implement the aborting from the driver side,
such as what sas_ata_device_link_abort() do. Or shall we implement the
aborting from the upper side(scsi middle layer or block layer), such as
trigger block layer time out handler immediately after we found device
is gone?
Thanks,
Jason