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