Messages in this thread | | | Subject | Re: [PATCH 00/14] target: Initial support for DIF Type1+Type3 emulation | From | "Martin K. Petersen" <> | Date | Wed, 15 Jan 2014 22:04:58 -0500 |
| |
>>>>> "nab" == Nicholas A Bellinger <nab@linux-iscsi.org> writes:
nab> Mmm, missed that detail. So that would take care of the nab> passthrough for the WRITE case then..
nab> How about a passthrough on the READ completion side for target nab> fabrics doing a hardware VERIFY..? Any preferences how this should nab> work..?
Just attach a bip and issue a READ.
nab> Also, for IBLOCK responses to properly generate GUARD + REFERENCE nab> tag CHECK_CONDITION sense failures from an underlying device VERIFY nab> failure, there will also need to be a way to propagate up the nab> failure status through bio_endio(). I assume bio_integrity_payload nab> is the proper place for adding something like this..?
In my qualification tooling I have a patch that passes the info up the stack. But it's a bit of a hack (declares a completion status on the stack that shared between all clones). The alternative is to create new errno values for each case.
nab> One other item from my TODO list for IBLOCK protection support is nab> how to go about determining which DIF type to expose in the target, nab> based upon what is currently enabled on the underlying struct nab> block_device. I'm currently trying to deduce the protection type nab> by looking at struct blk_integrity, but it would be helpful to make nab> this explicit with bi->prot_type.
You need to match on the integrity profile string. T10-DIF-TYPE1-IP means it's DIF Type 1 format with IP checksum.
-- Martin K. Petersen Oracle Linux Engineering
| |