[SCSI] sd: Always print actual protection_type
authorMartin K. Petersen <martin.petersen@oracle.com>
Fri, 19 Sep 2008 22:47:20 +0000 (18:47 -0400)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 13 Oct 2008 13:28:58 +0000 (09:28 -0400)
Now that we no longer use protection_type as trigger for preparing
protected CDBs we can remove the places that set it to zero.  This
allows userland to see which protection type the device is formatted
with regardless of whether the HBA supports DIF or not.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/sd.c
drivers/scsi/sd_dif.c

index fec0345..a494a2e 100644 (file)
@@ -1253,14 +1253,12 @@ void sd_read_protection_type(struct scsi_disk *sdkp, unsigned char *buffer)
        else
                type = ((buffer[12] >> 1) & 7) + 1; /* P_TYPE 0 = Type 1 */
 
+       sdkp->protection_type = type;
+
        switch (type) {
        case SD_DIF_TYPE0_PROTECTION:
-               sdkp->protection_type = 0;
-               break;
-
        case SD_DIF_TYPE1_PROTECTION:
        case SD_DIF_TYPE3_PROTECTION:
-               sdkp->protection_type = type;
                break;
 
        case SD_DIF_TYPE2_PROTECTION:
@@ -1278,7 +1276,6 @@ void sd_read_protection_type(struct scsi_disk *sdkp, unsigned char *buffer)
        return;
 
 disable:
-       sdkp->protection_type = 0;
        sdkp->capacity = 0;
 }
 
index 4d17f3d..943fde7 100644 (file)
@@ -321,7 +321,6 @@ void sd_dif_config_host(struct scsi_disk *sdkp)
                if (scsi_host_dif_capable(sdp->host, type) == 0) {
                        sd_printk(KERN_INFO, sdkp, "Type %d protection " \
                                  "unsupported by HBA. Disabling DIF.\n", type);
-                       sdkp->protection_type = 0;
                        return;
                }