[linux-lvm] LVM RAID5 out-of-sync recovery

Giuliano Procida giuliano.procida at gmail.com
Sat Oct 15 07:21:59 UTC 2016


On 15 October 2016 at 00:19, Heinz Mauelshagen <heinzm at redhat.com> wrote:
> On 10/12/2016 09:15 AM, Giuliano Procida wrote:
>>
>> On 12 October 2016 at 07:57, Giuliano Procida
>> [lies]
>
> Well, the result of le32_to_cpu is assigned to a 32 bit int on 64 bit arch.
>
> The 4294967295 reported by parse_rmeta will thus result in signed int role =
> -1
> which is used for comparision.
>
> The tool should rather report the array_position signed to avoid iritation.

Oops, yes. sizeof(int) == 4 in the kernel, even on a 64-bit architecture.
I'd forgotten this. It seemed surprising that compiler would likely warn
but the warning would have been ignored.

>> I still don't know what wrote that value to the superblock though.
>
> Must have been the position gotten set to -1 indicating failure to hot add
> the image LV back in and thus MD has written it to that superblock.

I didn't find the code that did this when I last looked.

> Did you spot any "Faulty.*device #.*has readable super block.\n Attempting
> to revive it."
> messages from dm-raid in the kernel log by chance?

That's a question for Slava.




More information about the linux-lvm mailing list