Re: [PATCH] block/blk-core.c: print readable string instead of values.

From: Joe Perches
Date: Mon Apr 14 2014 - 18:27:43 EST


On Mon, 2014-04-14 at 15:00 -0700, Muthukumar R wrote:
> FYI, bi_rw tracks more than WRITE or READ...
>
> On Sat, Apr 12, 2014 at 12:22 AM, Jianyu Zhan <nasa4836@xxxxxxxxx> wrote:
> > Print the r/w direction string instead of internal values.
[]
> > diff --git a/block/blk-core.c b/block/blk-core.c
[]
> > @@ -1625,9 +1625,9 @@ static void handle_bad_sector(struct bio *bio)
> > char b[BDEVNAME_SIZE];
> >
> > printk(KERN_INFO "attempt to access beyond end of device\n");
> > - printk(KERN_INFO "%s: rw=%ld, want=%Lu, limit=%Lu\n",
> > + printk(KERN_INFO "%s: rw=%s, want=%Lu, limit=%Lu\n",
> > bdevname(bio->bi_bdev, b),
> > - bio->bi_rw,
> > + (bio->bi_rw & WRITE) ? "WRITE" : "READ",

Perhaps print the hex value as well and emit
both messages on a single line to make grepping
a bit easier.

Something like:
---
block/blk-core.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index a0e3096..2a710df 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1624,12 +1624,11 @@ static void handle_bad_sector(struct bio *bio)
{
char b[BDEVNAME_SIZE];

- printk(KERN_INFO "attempt to access beyond end of device\n");
- printk(KERN_INFO "%s: rw=%ld, want=%Lu, limit=%Lu\n",
- bdevname(bio->bi_bdev, b),
- bio->bi_rw,
- (unsigned long long)bio_end_sector(bio),
- (long long)(i_size_read(bio->bi_bdev->bd_inode) >> 9));
+ printk(KERN_INFO "%s: attempt to access beyond end of device - rw=%s(%lx), want=%Lu, limit=%Lu\n",
+ bdevname(bio->bi_bdev, b),
+ bio->bi_rw & WRITE ? "WRITE" : "READ", bio->bi_rw,
+ (unsigned long long)bio_end_sector(bio),
+ (long long)(i_size_read(bio->bi_bdev->bd_inode) >> 9));

set_bit(BIO_EOF, &bio->bi_flags);
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/