block: use blk_op_str() in blk-mq-debugfs.c [Linux 5.3]

This Linux kernel change "block: use blk_op_str() in blk-mq-debugfs.c" is included in the Linux 5.3 release. This change is authored by Chaitanya Kulkarni <chaitanya.kulkarni [at] wdc.com> on Thu Jun 20 10:59:17 2019 -0700. The commit for this change in Linux stable tree is 874c893 (patch).

block: use blk_op_str() in blk-mq-debugfs.c

Now that we've a helper function blk_op_str() to convert the
REQ_OP_XXX to string XXX, adjust the code to use that. Get rid of
the duplicate array op_name which is now present in the blk-core.c
which we renamed it to "blk_op_name" and open coding in the
blk-mq-debugfs.c.

Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

There are 24 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 block/blk-mq-debugfs.c | 24 ++++--------------------
 1 file changed, 4 insertions(+), 20 deletions(-)

diff --git a/block/blk-mq-debugfs.c b/block/blk-mq-debugfs.c
index a8376cc..748164f 100644
--- a/block/blk-mq-debugfs.c
+++ b/block/blk-mq-debugfs.c
@@ -261,23 +261,6 @@ static int hctx_flags_show(void *data, struct seq_file *m)
    return 0;
 }

-#define REQ_OP_NAME(name) [REQ_OP_##name] = #name
-static const char *const op_name[] = {
-   REQ_OP_NAME(READ),
-   REQ_OP_NAME(WRITE),
-   REQ_OP_NAME(FLUSH),
-   REQ_OP_NAME(DISCARD),
-   REQ_OP_NAME(SECURE_ERASE),
-   REQ_OP_NAME(ZONE_RESET),
-   REQ_OP_NAME(WRITE_SAME),
-   REQ_OP_NAME(WRITE_ZEROES),
-   REQ_OP_NAME(SCSI_IN),
-   REQ_OP_NAME(SCSI_OUT),
-   REQ_OP_NAME(DRV_IN),
-   REQ_OP_NAME(DRV_OUT),
-};
-#undef REQ_OP_NAME
-
 #define CMD_FLAG_NAME(name) [__REQ_##name] = #name
 static const char *const cmd_flag_name[] = {
    CMD_FLAG_NAME(FAILFAST_DEV),
@@ -342,12 +325,13 @@ int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq)
 {
    const struct blk_mq_ops *const mq_ops = rq->q->mq_ops;
    const unsigned int op = req_op(rq);
+   const char *op_str = blk_op_str(op);

    seq_printf(m, "%p {.op=", rq);
-   if (op < ARRAY_SIZE(op_name) && op_name[op])
-       seq_printf(m, "%s", op_name[op]);
-   else
+   if (strcmp(op_str, "UNKNOWN") == 0)
        seq_printf(m, "%u", op);
+   else
+       seq_printf(m, "%s", op_str);
    seq_puts(m, ", .cmd_flags=");
    blk_flags_show(m, rq->cmd_flags & ~REQ_OP_MASK, cmd_flag_name,
               ARRAY_SIZE(cmd_flag_name));

Leave a Reply

Your email address will not be published. Required fields are marked *