RE: end to end error recovery musings

Moore, Eric
2007-02-28T15:20:27Z

On Tuesday, February 27, 2007 12:07 PM, Martin K. Petersen wrote:
>
> Not sure you're up-to-date on the T10 data integrity feature.
> Essentially it's an extension of the 520 byte sectors common in disk
> arrays. For each 512 byte sector (or 4KB ditto) you get 8 bytes of
> protection data. There's a 2 byte CRC (GUARD tag), a 2 byte
> user-defined tag (APP) and a 4-byte reference tag (REF). Depending on
> how the drive is formatted, the REF tag usually needs to match the
> lower 32-bits of the target sector #.
>

I from the scsi lld perspective, all we need 32 byte cdbs, and a
mechinism to pass the tags down from above. It appears our driver to
firmware insterface is only providing the reference and application
tags. It seems the guard tag is not present, so I guess mpt fusion
controller firmware is setting it(I will have to check with others). I
assume that for transfers greater than a sector, that the controller
firmware updates the tags for all the other sectors within the boundary.
I'm sure the flags probably tell whether EEDP is enabled or not. I
will have to check if there are some manufacturing pages that say
whether the controller is capable of EEDP(as not all our controllers
support it).

Here are the EEDP associated fields we provide in our scsi passthru, as
well as target assist.

u32 SecondaryReferenceTag
u16 SecondaryApplicationTag
u16 EEDPFlags
u16 ApplicationTagTranslationMask
u32 EEDPBlockSize