From: NeilBrown Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- drivers/md/md.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/md/md.c~md-add-error-reporting-to-superblock-write-failure drivers/md/md.c --- a/drivers/md/md.c~md-add-error-reporting-to-superblock-write-failure +++ a/drivers/md/md.c @@ -389,8 +389,12 @@ static int super_written(struct bio *bio 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); _