block: update print_req_error() [Linux 5.3]

This Linux kernel change "block: update print_req_error()" 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:18 2019 -0700. The commit for this change in Linux stable tree is b0e5168 (patch).

block: update print_req_error()

Improve the print_req_error with additional request fields which are
helpful for debugging. Use newly introduced blk_op_str() to print the
REQ_OP_XXX in the string format.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

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

 block/blk-core.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 129204d..5d1fc8e 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -212,11 +212,14 @@ static void print_req_error(struct request *req, blk_status_t status,
        return;

    printk_ratelimited(KERN_ERR
-       "%s: %s error, dev %s, sector %llu op 0x%x flags 0x%x\n",
+       "%s: %s error, dev %s, sector %llu op 0x%x:(%s) flags 0x%x "
+       "phys_seg %u prio class %u\n",
        caller, blk_errors[idx].name,
-       req->rq_disk ?  req->rq_disk->disk_name : "?",
-       blk_rq_pos(req), req_op(req),
-       req->cmd_flags & ~REQ_OP_MASK);
+       req->rq_disk ? req->rq_disk->disk_name : "?",
+       blk_rq_pos(req), req_op(req), blk_op_str(req_op(req)),
+       req->cmd_flags & ~REQ_OP_MASK,
+       req->nr_phys_segments,
+       IOPRIO_PRIO_CLASS(req->ioprio));
 }

 static void req_bio_endio(struct request *rq, struct bio *bio,

Leave a Reply

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