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

Giuliano Procida giuliano.procida at gmail.com
Wed Oct 12 07:15:15 UTC 2016


On 12 October 2016 at 07:57, Giuliano Procida
<giuliano.procida at gmail.com> wrote:
>>  array_position=4294967295
>
> This should be 1 instead. This is 32-bit unsigned 0xf...f. It may be
> that it has special significance in kernel or LVM code. I've not
> checked beyond noticing one test: role < 0.

http://lxr.free-electrons.com/source/drivers/md/dm-raid.c

Now role is an int and the RHS of the assignment is le32_to_cpu(...)
which returns a u32. Testing < 0 will *never* succeed on a 64-bit
architecture. This is a kernel bug. If the code is changed so that
role is also u32 and the test is against ~0, it's possible that
different, better things will happen. Please try reporting this to the
dm-devel people.

I still don't know what wrote that value to the superblock though.




More information about the linux-lvm mailing list