On 9/11/23 10:18, Mariusz Tkaczyk wrote: > On Fri, 1 Sep 2023 11:35:57 -0400 > Jes Sorensen <jes@xxxxxxxxxxxxxxxxxx> wrote: > >> On 7/5/23 10:50, Mateusz Grzonka wrote: >>> Mdmonitor is waiting for udev queue to become empty. >>> Even if the queue becomes empty, udev might still be processing last event. >>> However we want to wait and wake up mdmonitor when udev finished >>> processing events.. >>> >>> Also, the udev queue interface is considered legacy and should not be >>> used outside of udev. >>> >>> Use udev monitor instead, and wake up mdmonitor on every event triggered >>> by udev for md block device. >>> >>> We need to generate more change events from kernel, because they are >>> missing in some situations, for example, when rebuild started. >>> This will be addressed in a separate patch. >>> >>> Move udev specific code into separate functions, and place them in udev.c >>> file. Also move use_udev() logic from lib.c into newly created file. >>> >>> Signed-off-by: Mateusz Grzonka <mateusz.grzonka@xxxxxxxxx> >> >> Generally looks good to me. >> >> One question, is there a minimum version of udev required for this to >> work or has it been around long enough that we don't need to worry? >> >> Thanks, >> Jes >> >> > > Hi Jes, > We don't need to worry. I checked one random commit (25e773e) from 2014 and > udev_monitor stuff is there. Unfortunately this set no longer applies. If you want to send an updated version I'll do my best to look at it quickly. Thanks, Jes