From: NeilBrown <nfbrown@novell.com>
To: arekm@maven.pl, linux-raid@vger.kernel.org
Subject: Re: I/O errors without erros from underlying device
Date: Mon, 21 Dec 2015 13:25:23 +1100 [thread overview]
Message-ID: <874mfc5yi4.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <201512081205.48777.a.miskiewicz@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]
On Tue, Dec 08 2015, Arkadiusz Miskiewicz wrote:
> On Monday 07 of December 2015, Arkadiusz Miskiewicz wrote:
>
>> Anyway I would expect my problem to be related to badblock lists which
>> numbers are close to dmesg error message: [ 848.988518] Buffer I/O error
>> on dev md7, logical block 3907148544, async page read
>>
>> > >> http://sprunge.us/XSWI
>>
>> But how to repair these if write() also fails and
>> http://www.spinics.net/lists/raid/msg49325.html suggests that write should
>> "fix" these (by using replacement blocks I guess) ?
>
> Tried to get rid of badblock lists (well, corruption in that area is better
> than no access at all):
>
> mdadm --assemble /dev/md7 --force --update=no-bbl
> mdadm: Cannot remove active bbl from /dev/sdae1
> mdadm: Cannot remove active bbl from /dev/sdag1
> mdadm: Cannot remove active bbl from /dev/sdai1
> mdadm: Cannot remove active bbl from /dev/sdn1
> mdadm: Cannot remove active bbl from /dev/sdg
> mdadm: Cannot remove active bbl from /dev/sdad1
> mdadm: /dev/md7 has been started with 10 drives.
>
> Is there a way to archieve that anyway?
>
You probably have bad blocks in multiple disks in the one stripe
(look in /sys/block/md7/md/dev-*/badblocks or something like that to
see).
To get rid of these you would need to write to every block in the
stripe. I guess I should try to find a way to make that easier.
If you like you could hack mdadm to allow you to remove the bbl even
though they aren't empty.
In super1.c look for:
} else if (strcmp(update, "no-bbl") == 0) {
if (sb->feature_map & __cpu_to_le32(MD_FEATURE_BAD_BLOCKS))
pr_err("Cannot remove active bbl from %s\n",devname);
else {
sb->bblog_size = 0;
sb->bblog_shift = 0;
sb->bblog_offset = 0;
}
and change it to be unconditional and also to clear
MD_FEATURE_BAD_BLOCKS.
No warranty expressed or implied.
NeilBrown
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
prev parent reply other threads:[~2015-12-21 2:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-07 16:05 I/O errors without erros from underlying device Arkadiusz Miskiewicz
2015-12-07 16:37 ` John Stoffel
2015-12-07 17:06 ` Arkadiusz Miskiewicz
[not found] ` <201512071803.26434.arekm@maven.pl>
2015-12-07 17:23 ` John Stoffel
2015-12-07 20:46 ` Arkadiusz Miskiewicz
2015-12-08 4:02 ` John Stoffel
2015-12-08 11:05 ` Arkadiusz Miskiewicz
2015-12-21 2:25 ` NeilBrown [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874mfc5yi4.fsf@notabene.neil.brown.name \
--to=nfbrown@novell.com \
--cc=arekm@maven.pl \
--cc=linux-raid@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.