Created attachment 1603586 [details] log of repro Description of problem: i have a set of 3 disks. i've created a vg with all 3 and a raid1 lv on top. if i remove a disk, dmeventd doesn't automatically fix the raid, even though FWICT it is supposed to. Version-Release number of selected component (if applicable): lvm2 2.03.02 on rhel 8.0 and on debian 10 How reproducible: trivially Steps to Reproduce: i have attached a script log of the reproduction inside a rhel 8.0 virtual machine. Actual results: raid is not repaired automatically; invoking lvconvert --repair manually does fix it Expected results: raid is repaired automatically
i've attached a patch i made that skips over the condition in the relevant part of dmeventd. with this change, the raid is automatically repaired. (tested against lvm on debian 10; not tested on rhel). i did some tracing of the textual events that the kernel is sending, and it appears that `status->insync_regions` is 0, thus preventing lvconvert --repair from running. i'm not at all familiar with lvm code or the kernel half, but perhaps the condition in dmeventd is wrong, or the kernel event with a 0 insync_regions is spurious or incorrect.
Created attachment 1603587 [details] hacky patch to make dmeventd repair the raid
This is a dup of the following bugs: rhel7.7: https://bugzilla.redhat.com/show_bug.cgi?id=1560739 rhel8.0: https://bugzilla.redhat.com/show_bug.cgi?id=1729303 And mentioned earlier in rhel7: https://bugzilla.redhat.com/show_bug.cgi?id=1547979#c20
it looks like this was fixed in https://sourceware.org/git/?p=lvm2.git;a=commit;h=ad560a286a0b5d08086324e6194b060c136e9353.
Assumed fixed by dependency 1560739
*** This bug has been marked as a duplicate of bug 1560739 ***