All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RESEND] fs: Add device information for error output in __find_get_block_slow.
@ 2011-09-14  9:43 Tao Ma
  0 siblings, 0 replies; only message in thread
From: Tao Ma @ 2011-09-14  9:43 UTC (permalink / raw)
  To: linux-kernel; +Cc: Al Viro, Andrew Morton

From: Tao Ma <boyu.mt@taobao.com>

In ext4 mailist[1], we got some report about errors in
__find_get_block_slow, but the information is very limited.
If the device information is given, we can know the name of
the sick volume. Futhermore, we can get the corresponding
status of that block(group, inode block etc) by analyzing
the disk layout.

[1] http://marc.info/?l=linux-ext4&m=131379831421147&w=2

Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tao Ma <boyu.mt@taobao.com>
---
 fs/buffer.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index 1a80b04..6fe4ece 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -213,13 +213,16 @@ __find_get_block_slow(struct block_device *bdev, sector_t block)
 	 * elsewhere, don't buffer_error if we had some unmapped buffers
 	 */
 	if (all_mapped) {
+		char b[BDEVNAME_SIZE];
+
 		printk("__find_get_block_slow() failed. "
 			"block=%llu, b_blocknr=%llu\n",
 			(unsigned long long)block,
 			(unsigned long long)bh->b_blocknr);
 		printk("b_state=0x%08lx, b_size=%zu\n",
 			bh->b_state, bh->b_size);
-		printk("device blocksize: %d\n", 1 << bd_inode->i_blkbits);
+		printk("device %s blocksize: %d\n", bdevname(bdev, b),
+			1 << bd_inode->i_blkbits);
 	}
 out_unlock:
 	spin_unlock(&bd_mapping->private_lock);
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-09-14  9:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-14  9:43 [PATCH RESEND] fs: Add device information for error output in __find_get_block_slow Tao Ma

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.