scsi: zfcp: make DIX experimental, disabled, and independent of DIF
authorFedor Loshakov <loshakov@linux.ibm.com>
Thu, 29 Nov 2018 12:09:56 +0000 (13:09 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 8 Dec 2018 02:36:40 +0000 (21:36 -0500)
commit636db60b8e910760c283b7aa928efcc580c1f574
tree5fcb77acc5bbdff913c0fbc7f304a25b60c50ddf
parent1ff2d8c43bc2ac78470033eae2947aec0c2e8cb6
scsi: zfcp: make DIX experimental, disabled, and independent of DIF

Introduce separate zfcp module parameters to individually select support
for: DIF which should work (zfcp.dif, which used to be DIF+DIX, disabled)
or DIX+DIF which can cause trouble (zfcp.dix, new, disabled).

If DIX is enabled, we warn on zfcp driver initialization.  As before, this
also reduces the maximum I/O request size to half, to support the worst
case of merged single sector requests with one protection data scatter
gather element per sector. This can impact the maximum throughput.

In DIF-only mode (zfcp.dif=1 zfcp.dix=0), we can use the full maximum I/O
request size as there is no protection data for zfcp.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Fedor Loshakov <loshakov@linux.ibm.com>
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/s390/scsi/zfcp_aux.c
drivers/s390/scsi/zfcp_ext.h
drivers/s390/scsi/zfcp_scsi.c