Re: "Corrected" errors persist after scrubbing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 16, 2017 at 3:53 AM, Tom Hale <tom@xxxxxxx> wrote:

> # mdadm --build /dev/md0 --level=faulty --raid-devices=1 /dev/loop0
> # mdadm --grow /dev/md0 --layout=rp400
> layout for /dev/md0 set to 12803

I'm not familiar with this method of simulating problems. Everything
I've seen on this list is it's done with dm-flakey, or with the btrfs
corrupt tool. Everytime I've done that, fixups are honored and are
actually fixed. I have no idea if the above method is accepting
repairs properly. We can see from your log that Btrfs detects problems
and applies fixups. Everytime I've done this on real devices, it's
always fixed the problem. So my guess is the problem is fixed but then
the layout changes with this command

> # mdadm --grow /dev/md0 --layout=clear
> layout for /dev/md0 set to 31

And now the fixes are invalid so you get new errors again. That's just
a guess, like I said I've never seen this method of introducing faults
before so I don't know how it's behaving or what the expectations are.

The very fact Btrfs says it's sent fixups, to the specific faulty
device and sector value, and yet a 2nd scrub shows the exact same
logical errors can't be coincidence. So I suspect the methodology has
a flawed assumption, and either the fixup is not passing through
correctly or is corrupted on the way; or it's fixed but then clearing
the layout recorrupts just those fixed blocks.

>From this description:
http://linux-raid.vger.kernel.narkive.com/XFofrUH1/error-injection

>mdadm -G /dev/md0 --layout=clear
>will stop producing new errors
>mdadm -G /dev/md0 --layout=flush
>will forget all persistent errors.

I don't really understand the distinction, but it sounds like clear
might not be sufficient, that even thought fixes were applied, those
same sectors will still produce errors until flush is used.

Anyway I suspect flawed testing method.






-- 
Chris Murphy
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux