Re: [PATCH 00/14] target: Initial support for DIF Type1+Type3 emulation

From: Martin K. Petersen
Date: Wed Jan 15 2014 - 22:05:21 EST


>>>>> "nab" == Nicholas A Bellinger <nab@xxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/