From 299fd0aec9f0426299281b3a4f15085f6d5dc386 Mon Sep 17 00:00:00 2001 From: Krzysztof Mazur Date: Wed, 27 Jul 2011 19:21:50 +0200 Subject: [PATCH 52/84] lsbd: add support for block_dump If the system block_dump is enabled the lsbd is logging all block operations. --- drivers/block/lsbd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/block/lsbd.c b/drivers/block/lsbd.c index 9cdef9d..e760292 100644 --- a/drivers/block/lsbd.c +++ b/drivers/block/lsbd.c @@ -42,6 +42,8 @@ #define LSBD_MAX 8 #define PART_BITS 5 + +extern int block_dump; /* * LSBD block header must have 1024 bytes @@ -1590,6 +1592,15 @@ read_ok: sector = sector2; goto retry; } + + if (block_dump) { + /* FIXME: don't assume 4kB sectors */ + printk(KERN_DEBUG "lsbd%d: READ block %d/8 " + "from %d.%d\n", + p->id, lsector << 3, + sector / p->sectors_per_block, + sector % p->sectors_per_block); + } bh->b_end_io(bh, 1); return 0; @@ -1982,6 +1993,14 @@ static int lsbd_write_block(struct lsbd *p) BUG_ON(r->sector >= p->lsectors); sects[i].id = cpu_to_be32(r->sector); + if (block_dump) { + printk(KERN_DEBUG "lsbd%d: %s block %d/8 " + "to %d.%d\n", p->id, + r->move ? "REWRITE" : "WRITE", + r->sector << 3, + p->cur_block, i + 1); + } + write_lock(&p->lcache_lock); p->lcache[r->sector] = p->cur_block * p->sectors_per_block + i + 1; -- 1.8.4.652.g0d6e0ce