]> git.itanic.dy.fi Git - linux-stable/commitdiff
s390/dasd: use correct number of retries for ERP requests
authorStefan Haberland <sth@linux.ibm.com>
Fri, 21 Jul 2023 19:36:45 +0000 (21:36 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 24 Jul 2023 19:05:29 +0000 (13:05 -0600)
If a DASD request fails an error recovery procedure (ERP) request might
be built as a copy of the original request to do error recovery.

The ERP request gets a number of retries assigned.
This number is always 256 no matter what other value might have been set
for the original request. This is not what is expected when a user
specifies a certain amount of retries for the device via sysfs.

Correctly use the number of retries of the original request for ERP
requests.

Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Link: https://lore.kernel.org/r/20230721193647.3889634-3-sth@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/s390/block/dasd_3990_erp.c

index 9fd36c46870640ac5dfcecd1c211c9bad8ad250b..91e9a17b848e7605f14660bb99f3991227e121a8 100644 (file)
@@ -2441,7 +2441,7 @@ static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr)
        erp->block    = cqr->block;
        erp->magic    = cqr->magic;
        erp->expires  = cqr->expires;
-       erp->retries  = 256;
+       erp->retries  = device->default_retries;
        erp->buildclk = get_tod_clock();
        erp->status = DASD_CQR_FILLED;