iSCSI target fixes for iSCSIResiduals tests causing libiscsi test suite to hang
Signed-off-by: Utkarsh Mani Tripathi <utkarsh.tripathi@mayadata.io>
This commit is contained in:
@@ -594,6 +594,14 @@ func (s *ISCSITargetDriver) scsiCommandHandler(conn *iscsiConnection) (err error
|
||||
}
|
||||
|
||||
task := &iscsiTask{conn: conn, cmd: conn.req, tag: conn.req.TaskTag, scmd: scmd}
|
||||
task.scmd.OpCode = conn.req.SCSIOpCode
|
||||
if scmd.Direction == api.SCSIDataBidirection {
|
||||
task.scmd.Result = api.SAMStatCheckCondition.Stat
|
||||
scsi.BuildSenseData(task.scmd, scsi.ILLEGAL_REQUEST, scsi.NO_ADDITIONAL_SENSE)
|
||||
conn.buildRespPackage(OpSCSIResp, task)
|
||||
conn.rxTask = nil
|
||||
break
|
||||
}
|
||||
if req.Write {
|
||||
task.r2tCount = int(req.ExpectedDataLen) - req.DataLen
|
||||
if !req.Final {
|
||||
@@ -649,7 +657,7 @@ func (s *ISCSITargetDriver) scsiCommandHandler(conn *iscsiConnection) (err error
|
||||
}
|
||||
return
|
||||
} else {
|
||||
if scmd.Direction == api.SCSIDataRead && scmd.SenseBuffer == nil {
|
||||
if scmd.Direction == api.SCSIDataRead && scmd.SenseBuffer == nil && req.ExpectedDataLen != 0 {
|
||||
conn.buildRespPackage(OpSCSIIn, task)
|
||||
} else {
|
||||
conn.buildRespPackage(OpSCSIResp, task)
|
||||
|
||||
Reference in New Issue
Block a user