Return-Path: <owner-ips-outgoing@ece.cmu.edu>
Received: from newbox.ece.cmu.edu (localhost [127.0.0.1])
	by newbox.ece.cmu.edu (Cyrus v2.1.12) with LMTP; Tue, 05 Aug 2003 21:47:40 -0400
X-Sieve: CMU Sieve 2.2
Received: from hazard.ece.cmu.edu (HAZARD.ECE.CMU.EDU [128.2.129.24])
	by newbox.ece.cmu.edu (Postfix) with ESMTP id 130463239
	for <ipsml@ece.cmu.edu>; Tue,  5 Aug 2003 21:47:40 -0400 (EDT)
Received: by hazard.ece.cmu.edu (Postfix, from userid 953)
	id B79D9119; Tue,  5 Aug 2003 21:47:39 -0400 (EDT)
Received: from sos.ece.cmu.edu (SOS.ECE.CMU.EDU [128.2.129.27])
	by hazard.ece.cmu.edu (Postfix) with ESMTP
	id BAE98146; Tue,  5 Aug 2003 21:47:30 -0400 (EDT)
Received: by sos.ece.cmu.edu (Postfix)
	id 52E6F89F0; Tue,  5 Aug 2003 21:47:14 -0400 (EDT)
Delivered-To: ips-outgoing@sos.ece.cmu.edu
Received: from osgood.ece.cmu.edu (OSGOOD.ECE.CMU.EDU [128.2.129.25])
	by sos.ece.cmu.edu (Postfix) with ESMTP id 4129689ED
	for <ips-outgoing@sos.ece.cmu.edu>; Tue,  5 Aug 2003 21:47:14 -0400 (EDT)
Received: by osgood.ece.cmu.edu (Postfix)
	id 1BE7188; Tue,  5 Aug 2003 21:47:14 -0400 (EDT)
Delivered-To: ips-outgoing@ece.cmu.edu
Received: by osgood.ece.cmu.edu (Postfix, from userid 953)
	id D9E138F; Tue,  5 Aug 2003 21:47:13 -0400 (EDT)
Received: from sos.ece.cmu.edu (SOS.ECE.CMU.EDU [128.2.129.27])
	by osgood.ece.cmu.edu (Postfix) with ESMTP id AD4AA88
	for <ips-outgoing@ece.cmu.edu>; Tue,  5 Aug 2003 21:47:11 -0400 (EDT)
Received: by sos.ece.cmu.edu (Postfix, from userid 363)
	id 9927689F2; Tue,  5 Aug 2003 21:47:11 -0400 (EDT)
X-Original-To: ips@sos.ece.cmu.edu
Delivered-To: ips@sos.ece.cmu.edu
Received: from osgood.ece.cmu.edu (OSGOOD.ECE.CMU.EDU [128.2.129.25])
	by sos.ece.cmu.edu (Postfix) with ESMTP id EF57789ED
	for <ips@sos.ece.cmu.edu>; Tue,  5 Aug 2003 21:47:09 -0400 (EDT)
Received: by osgood.ece.cmu.edu (Postfix)
	id 6BF578E; Tue,  5 Aug 2003 21:47:09 -0400 (EDT)
Delivered-To: ips@ece.cmu.edu
Received: by osgood.ece.cmu.edu (Postfix, from userid 953)
	id 3E1CB91; Tue,  5 Aug 2003 21:47:09 -0400 (EDT)
Received: from mononoke.wasabisystems.com (unknown [151.199.66.145])
	by osgood.ece.cmu.edu (Postfix) with ESMTP id 77AAC8E
	for <ips@ece.cmu.edu>; Tue,  5 Aug 2003 21:47:06 -0400 (EDT)
Received: by mononoke.wasabisystems.com (Postfix, from userid 1021)
	id 1CCFA40137; Tue,  5 Aug 2003 21:47:06 -0400 (EDT)
Date: Tue, 5 Aug 2003 18:45:40 -0700 (PDT)
From: wrstuden@wasabisystems.com
X-X-Sender: wrstuden@neverwinter.home-net.icnt.net
To: pat_thaler@agilent.com
Cc: julian@cs.haifa.ac.il, Black_David@emc.com,
	dcuddihy@attotech.com, ips@ece.cmu.edu
Subject: RE: StatSN and overlapped commands
In-Reply-To: <1BEBA5E8600DD4119A50009027AF54A0132E0486@axcs04.cos.agilent.com>
Message-ID: <Pine.NEB.4.53.0308051820430.532@neverwinter.home-net.icnt.net>
References: <1BEBA5E8600DD4119A50009027AF54A0132E0486@axcs04.cos.agilent.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-ips@ece.cmu.edu
Precedence: bulk
X-Spam-Status: No, hits=-37.2 required=5.0
	tests=BAYES_01,EMAIL_ATTRIBUTION,IN_REP_TO,NO_REAL_NAME,
	      QUOTED_EMAIL_TEXT,REFERENCES,REPLY_WITH_QUOTES,
	      USER_AGENT_PINE
	autolearn=ham	version=2.50
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp)

On Tue, 5 Aug 2003 pat_thaler@agilent.com wrote:

> Julian,
>
> I agree that the initiator is misbehaving, but I don't agree that the
> target should detect that misbehavior. The target SCSI layer thinks the
> command was done when it generated the status. As David said, the target
> keeps the status around so that it can resend it if requested by Status
> SNACK. It doesn't need to keep track of the tag anymore at that point.

Well, I'll add one more opinion to the pot; I agree with Julian. :-) I
agree that the _SCSI_ command is completed, but I think that the iSCSI
task isn't done until the status is ack'd.

Doesn't the target still need to keep track of the tag in case (for a SCSI
read) a data SNACK comes in? It was my understanding that until you get an
ack that the read data all got there, you need to be able to handle a
request for data re-transmit. And to do that, you need the ITT.

As a twisted-but-legal scenario, consider you have a read command (data
from target to initiator) with ITT=5 that completes and the target sends
status. A new read command comes in with ITT=5 but w/o Stat
acknowledgement of the first ITT=5 command. Then a Data SNACK comes in for
ITT=5. Which SCSI command's data should be re-sent?

> If the target had to generate an error when a command came with for a
> tag before the status for a prior command with the same tag was
> acknowledged, then it would have to clear the memory of tags when status
> acks came in which is less efficient than doing it when posting the
> status.

While I agree it's not as efficient, if we don't wait until we get status
ack to clear the ITT, how do we avoid ambiguity in dealing with SNACKs?

Take care,

Bill
