[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d0bfb66f-1934-c9a2-524e-0f0665cb7d2f@synopsys.com>
Date: Tue, 19 Jul 2022 23:05:45 +0000
From: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
To: Mike Christie <michael.christie@...cle.com>,
Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"target-devel@...r.kernel.org" <target-devel@...r.kernel.org>,
"Martin K. Petersen" <martin.petersen@...cle.com>
CC: John Youn <John.Youn@...opsys.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: Re: [PATCH v2 2/4] target: Implement TMR_ABORT_TASK_SET
On 7/19/2022, Mike Christie wrote:
> On 7/18/22 9:07 PM, Thinh Nguyen wrote:
>> Task ABORT TASK SET function is required by SCSI transport protocol
> What OS is using this and how do they use it? For the latter, does the
> OS try an abort for each cmd first, then try an abort task set if the
> aborts fail (does fail mean get a response that indicates failure and
> also does a timeout count)? Or does it start with the abort task set?
It's not from any real driver. It's from the USB Compliant Verification
(https://www.usb.org/document-library/usb3cv). It uses the command for
UASP compliant test.
The test only ever aborts a single command at a time, so I can't confirm
your following questions. The SAM4-r14 wasn't clear on those questions
either.
> I'm asking because it looks like if it does an abort first, then the
> abort task set will always return TMR_TASK_DOES_NOT_EXIST. For the abort
> we will remove the cmds from the state_list so if the abort task set runs
> after the initiator has tried to abort all the commands it will never
> find any.
I didn't notice since I dropped a patch where I removed the
TMR_TASK_DOES_NOT_EXIST and UASP converts this to RC_TMF_COMPLETE. UASP
respond to FUNCTION COMPLETE with RC_TMF_COMPLETE. I'll can make a fix
to that.
If there's any suggestion to implement this, please advise.
Thanks,
Thinh
>> standards (SAM-4 r14 section 7.3). It is similar to ABORT TASK
>> function, but it applies to all commands received on a specified I_T
>> nexus rather than a specific referenced command. Modify
>> core_tmr_abort_task() to support TMR_ABORT_TASK_SET.
>>
Powered by blists - more mailing lists