Explorar o código

[S390] dasd: check if raw track access is supported

To use raw track access some special storage server commands are
needed. Older storage hardware may not support these commands.
So check if raw track access is possible while setting the DASD
online.

Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Stefan Haberland %!s(int64=14) %!d(string=hai) anos
pai
achega
34cd551a31
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      drivers/s390/block/dasd_eckd.c

+ 9 - 0
drivers/s390/block/dasd_eckd.c

@@ -1461,6 +1461,15 @@ dasd_eckd_check_characteristics(struct dasd_device *device)
 				"Read device characteristic failed, rc=%d", rc);
 		goto out_err3;
 	}
+
+	if ((device->features & DASD_FEATURE_USERAW) &&
+	    !(private->rdc_data.facilities.RT_in_LR)) {
+		dev_err(&device->cdev->dev, "The storage server does not "
+			"support raw-track access\n");
+		rc = -EINVAL;
+		goto out_err3;
+	}
+
 	/* find the valid cylinder size */
 	if (private->rdc_data.no_cyl == LV_COMPAT_CYL &&
 	    private->rdc_data.long_no_cyl)