summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-10-03 01:16:03 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-03 08:04:19 -0700
commit3a0f5bbb1a36ed113065099d3dc69a66e1c8d567 (patch)
tree0a8e6aa5c069aa41e57cbe820f0876abea4e8876
parentd19c2ee0b8d1cd83f8bc0f1f5e94e6b6ec71ea10 (diff)
downloadlinux-3a0f5bbb1a36ed113065099d3dc69a66e1c8d567.tar.gz
linux-3a0f5bbb1a36ed113065099d3dc69a66e1c8d567.tar.bz2
linux-3a0f5bbb1a36ed113065099d3dc69a66e1c8d567.zip
[PATCH] md: add error reporting to superblock write failure
Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/md/md.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 40cb79ac4039..38a0a5741d52 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -389,8 +389,12 @@ static int super_written(struct bio *bio, unsigned int bytes_done, int error)
if (bio->bi_size)
return 1;
- if (error || !test_bit(BIO_UPTODATE, &bio->bi_flags))
+ if (error || !test_bit(BIO_UPTODATE, &bio->bi_flags)) {
+ printk("md: super_written gets error=%d, uptodate=%d\n",
+ error, test_bit(BIO_UPTODATE, &bio->bi_flags));
+ WARN_ON(test_bit(BIO_UPTODATE, &bio->bi_flags));
md_error(mddev, rdev);
+ }
if (atomic_dec_and_test(&mddev->pending_writes))
wake_up(&mddev->sb_wait);