gostor / gotgt

Simple Golang iSCSI Target framework
Apache License 2.0
261 stars 49 forks source link

support more SCSI commands #55

Open carmark opened 7 years ago

carmark commented 7 years ago

Some SCSI commands are not supported now, such as:

ALL.CompareAndWrite
ALL.CompareAndWrite.Simple
ALL.CompareAndWrite.DpoFua
ALL.CompareAndWrite.Miscompare
ALL.CompareAndWrite.Unwritten
ALL.CompareAndWrite.InvalidDataOutSize
ALL.ExtendedCopy
ALL.ExtendedCopy.Simple
ALL.ExtendedCopy.ParamHdr
ALL.ExtendedCopy.DescrLimits
ALL.ExtendedCopy.DescrType
ALL.ExtendedCopy.ValidTgtDescr
ALL.ExtendedCopy.ValidSegDescr
ALL.GetLBAStatus
ALL.GetLBAStatus.Simple
ALL.GetLBAStatus.BeyondEol
ALL.GetLBAStatus.UnmapSingle
ALL.Inquiry
ALL.Inquiry.BlockLimits
ALL.ModeSense6
ALL.ModeSense6.AllPages
ALL.ModeSense6.Control
ALL.ModeSense6.Control-D_SENSE
ALL.ModeSense6.Control-SWP
ALL.ModeSense6.Residuals
ALL.OrWrite
ALL.OrWrite.Simple
ALL.OrWrite.BeyondEol
ALL.OrWrite.ZeroBlocks
ALL.OrWrite.Protect
ALL.OrWrite.DpoFua
ALL.OrWrite.Verify
ALL.PrinReadKeys
ALL.PrinReadKeys.Simple
ALL.PrinServiceactionRange
ALL.PrinServiceactionRange.Range
ALL.PrinReportCapabilities
ALL.PrinReportCapabilities.Simple
ALL.ProutRegister
ALL.ProutRegister.Simple
ALL.ProutReserve
ALL.ProutReserve.Simple
ALL.ProutReserve.AccessEA
ALL.ProutReserve.AccessWE
ALL.ProutReserve.AccessEARO
ALL.ProutReserve.AccessWERO
ALL.ProutReserve.AccessEAAR
ALL.ProutReserve.AccessWEAR
ALL.ProutReserve.OwnershipEA
ALL.ProutReserve.OwnershipWE
ALL.ProutReserve.OwnershipEARO
ALL.ProutReserve.OwnershipWERO
ALL.ProutReserve.OwnershipEAAR
ALL.ProutReserve.OwnershipWEAR
ALL.ProutClear
ALL.ProutClear.Simple
ALL.ProutPreempt
ALL.ProutPreempt.RemoveRegistration
ALL.ReadDefectData10
ALL.ReadDefectData10.Simple
ALL.ReadDefectData12
ALL.ReadDefectData12.Simple
ALL.ReceiveCopyResults
ALL.ReceiveCopyResults.CopyStatus
ALL.ReceiveCopyResults.OpParams
ALL.ReportSupportedOpcodes
ALL.ReportSupportedOpcodes.OneCommand
ALL.ReportSupportedOpcodes.RCTD
ALL.ReportSupportedOpcodes.SERVACTV
ALL.Reserve6
ALL.Reserve6.2Initiators
ALL.Reserve6.Logout
ALL.Reserve6.ITNexusLoss
ALL.Reserve6.TargetColdReset
ALL.Reserve6.TargetWarmReset
ALL.Reserve6.LUNReset
ALL.Sanitize
ALL.Sanitize.BlockErase
ALL.Sanitize.BlockEraseReserved
ALL.Sanitize.CryptoErase
ALL.Sanitize.CryptoEraseReserved
ALL.Sanitize.ExitFailureMode
ALL.Sanitize.InvalidServiceAction
ALL.Sanitize.Overwrite
ALL.Sanitize.OverwriteReserved
ALL.Sanitize.Readonly
ALL.Sanitize.Reservations
ALL.Sanitize.Reset
ALL.Unmap
ALL.Unmap.Simple
ALL.Unmap.VPD
ALL.Unmap.ZeroBlocks
ALL.WriteAtomic16.VPD
ALL.WriteSame10
ALL.WriteSame10.BeyondEol
ALL.WriteSame10.ZeroBlocks
ALL.WriteSame10.WriteProtect
ALL.WriteSame10.Unmap
ALL.WriteSame10.UnmapUnaligned
ALL.WriteSame10.UnmapUntilEnd
ALL.WriteSame10.UnmapVPD
ALL.WriteSame10.Check
ALL.WriteSame10.InvalidDataOutSize
ALL.WriteSame16
ALL.WriteSame16.BeyondEol
ALL.WriteSame16.ZeroBlocks
ALL.WriteSame16.WriteProtect
ALL.WriteSame16.Unmap
ALL.WriteSame16.UnmapUnaligned
ALL.WriteSame16.UnmapUntilEnd
ALL.WriteSame16.UnmapVPD
ALL.WriteSame16.Check
ALL.WriteSame16.InvalidDataOutSize
ALL.iSCSIdatasn
ALL.iSCSIdatasn.iSCSIDataSnInvalid
ALL.iSCSIResiduals
ALL.iSCSIResiduals.Read10Invalid
ALL.iSCSIResiduals.Read10Residuals
ALL.iSCSIResiduals.Read12Residuals
ALL.iSCSIResiduals.Read16Residuals
ALL.iSCSIResiduals.Write10Residuals
ALL.iSCSIResiduals.Write12Residuals
ALL.iSCSIResiduals.Write16Residuals
ALL.iSCSIResiduals.WriteVerify10Residuals
ALL.iSCSIResiduals.WriteVerify12Residuals
ALL.iSCSIResiduals.WriteVerify16Residuals
ALL.MultipathIO
ALL.MultipathIO.Simple
ALL.MultipathIO.Reset
ALL.MultipathIO.CompareAndWrite
ALL.MultipathIO.CompareAndWriteAsync

Note: the case name is from libiscsi

tpaullee commented 7 years ago

ALL.Inquiry.EVPD is supported as of 9/2017

carmark commented 7 years ago

@tpaullee removed it from the list