浏览代码

[SCSI] sd: Always print actual protection_type

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>
Martin K. Petersen 16 年之前
父节点
当前提交
be922f478f
共有 2 个文件被更改,包括 2 次插入6 次删除
  1. 2 5
      drivers/scsi/sd.c
  2. 0 1
      drivers/scsi/sd_dif.c

+ 2 - 5
drivers/scsi/sd.c

@@ -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;
 }
 

+ 0 - 1
drivers/scsi/sd_dif.c

@@ -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;
 		}