Here is a case
that I want to go over and if there is not already a solution, I think a
refinement to the A bit could solve it.
The problem is
that a target (perhaps an iSCSI disk drive) does not have enough memory to
transfer the full READ request so it must read from the medium as
much as it can, transmit that, when that transmission is known to be good,
read the next bunch, transmit that and so on.
The problem we
have is that the target must keep the buffer around until the transfer has
been "ack'd" via ExpStatSN. But that status can't be sent because all of
the requested data has not been sent. So the target would have to refuse
to do the command.
I was going to
use the A bit for this thinking it would force the initiator to give an
"ack" but our current wording does not make this a sure fire
thing:
1) The
initiator may not want to run at ErrorRecoveryLevel 1.
2) The
initiator may ignore the A bit if it deems that the bit is being set
aggressively.
3) The target
may set the A bit no more frequently than
MaxBurstSize.
Comments?