s390/dasd: Remove unnecessary errorstring generation
authorJan Höppner <hoeppner@linux.ibm.com>
Thu, 8 Feb 2024 16:42:42 +0000 (17:42 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 8 Feb 2024 17:12:01 +0000 (10:12 -0700)
In quite a few cases an errorstring is generated using snprintf() before
it's passed to dev_err(). This indirection is unnecessary and all
information can simply be passed directly to dev_err() instead.
The errrorstring and ERRORLENGTH definitions are removed entirely.

While at it, rephrase the error messages to provide more context where
possible. Also, fix a few incorrectly used format specifier (e.g. %x02
-> %02x) in those messages.

Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Link: https://lore.kernel.org/r/20240208164248.540985-4-sth@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/s390/block/dasd.c
drivers/s390/block/dasd_3990_erp.c
drivers/s390/block/dasd_int.h

index 7327e81352e9c7c74248adbd95b7c1c62aa05643..a9aa2db3f4abbd92b3672818fecb11532ac21075 100644 (file)
@@ -1301,7 +1301,6 @@ int dasd_term_IO(struct dasd_ccw_req *cqr)
 {
        struct dasd_device *device;
        int retries, rc;
-       char errorstring[ERRORLENGTH];
 
        /* Check the cqr */
        rc = dasd_check_cqr(cqr);
@@ -1340,10 +1339,8 @@ int dasd_term_IO(struct dasd_ccw_req *cqr)
                        rc = 0;
                        break;
                default:
-                       /* internal error 10 - unknown rc*/
-                       snprintf(errorstring, ERRORLENGTH, "10 %d", rc);
-                       dev_err(&device->cdev->dev, "An error occurred in the "
-                               "DASD device driver, reason=%s\n", errorstring);
+                       dev_err(&device->cdev->dev,
+                               "Unexpected error during request termination %d\n", rc);
                        BUG();
                        break;
                }
@@ -1362,7 +1359,6 @@ int dasd_start_IO(struct dasd_ccw_req *cqr)
 {
        struct dasd_device *device;
        int rc;
-       char errorstring[ERRORLENGTH];
 
        /* Check the cqr */
        rc = dasd_check_cqr(cqr);
@@ -1382,10 +1378,8 @@ int dasd_start_IO(struct dasd_ccw_req *cqr)
                return -EPERM;
        }
        if (cqr->retries < 0) {
-               /* internal error 14 - start_IO run out of retries */
-               sprintf(errorstring, "14 %p", cqr);
-               dev_err(&device->cdev->dev, "An error occurred in the DASD "
-                       "device driver, reason=%s\n", errorstring);
+               dev_err(&device->cdev->dev,
+                       "Start I/O ran out of retries %p\n", cqr);
                cqr->status = DASD_CQR_ERROR;
                return -EIO;
        }
@@ -1463,11 +1457,8 @@ int dasd_start_IO(struct dasd_ccw_req *cqr)
                              "not accessible");
                break;
        default:
-               /* internal error 11 - unknown rc */
-               snprintf(errorstring, ERRORLENGTH, "11 %d", rc);
                dev_err(&device->cdev->dev,
-                       "An error occurred in the DASD device driver, "
-                       "reason=%s\n", errorstring);
+                       "Unexpected error during request start %d", rc);
                BUG();
                break;
        }
@@ -1904,8 +1895,6 @@ static void __dasd_device_process_ccw_queue(struct dasd_device *device,
 static void __dasd_process_cqr(struct dasd_device *device,
                               struct dasd_ccw_req *cqr)
 {
-       char errorstring[ERRORLENGTH];
-
        switch (cqr->status) {
        case DASD_CQR_SUCCESS:
                cqr->status = DASD_CQR_DONE;
@@ -1917,11 +1906,8 @@ static void __dasd_process_cqr(struct dasd_device *device,
                cqr->status = DASD_CQR_TERMINATED;
                break;
        default:
-               /* internal error 12 - wrong cqr status*/
-               snprintf(errorstring, ERRORLENGTH, "12 %p %x02", cqr, cqr->status);
                dev_err(&device->cdev->dev,
-                       "An error occurred in the DASD device driver, "
-                       "reason=%s\n", errorstring);
+                       "Unexpected CQR status %p %02x", cqr, cqr->status);
                BUG();
        }
        if (cqr->callback)
index 89957bb7244d2655b5a932bfb9fbd845a7e3d48c..0705736acf099dd5ebed12232959d0695e69e5ad 100644 (file)
@@ -398,7 +398,6 @@ dasd_3990_handle_env_data(struct dasd_ccw_req * erp, char *sense)
        struct dasd_device *device = erp->startdev;
        char msg_format = (sense[7] & 0xF0);
        char msg_no = (sense[7] & 0x0F);
-       char errorstring[ERRORLENGTH];
 
        switch (msg_format) {
        case 0x00:              /* Format 0 - Program or System Checks */
@@ -1004,12 +1003,9 @@ dasd_3990_handle_env_data(struct dasd_ccw_req * erp, char *sense)
                }
                break;
 
-       default:        /* unknown message format - should not happen
-                          internal error 03 - unknown message format */
-               snprintf(errorstring, ERRORLENGTH, "03 %x02", msg_format);
+       default:
                dev_err(&device->cdev->dev,
-                        "An error occurred in the DASD device driver, "
-                        "reason=%s\n", errorstring);
+                       "Unknown message format %02x", msg_format);
                break;
        }                       /* end switch message format */
 
index 1b1b8a41c4d42e6145be51537785b609e37c73be..71d88e9310906693a5fffe1db0769ddabe1560a0 100644 (file)
@@ -113,9 +113,6 @@ do { \
                            __dev_id.ssid, __dev_id.devno, d_data);     \
 } while (0)
 
-/* limit size for an errorstring */
-#define ERRORLENGTH 30
-
 /* definition of dbf debug levels */
 #define        DBF_EMERG       0       /* system is unusable                   */
 #define        DBF_ALERT       1       /* action must be taken immediately     */