[lvm-devel] master - systemd: depend on systemd-udev-settle unit in activation unit

Peter Rajnoha prajnoha at redhat.com
Fri Sep 14 07:14:38 UTC 2012


On 09/13/2012 08:12 PM, Bill Nottingham wrote:
> The problem with the module being gone (as I understand it) is
> that systemd-udev-settle doesn't replace it. Before, the sequence was:
> 
> - udev starts
> - udev loads stuff
> - udev-settle, waits until all the loading of stuff is processed
> - scsi_wait_scan loads
> - ... waits for background scans to finish ...

I assume there are still udev events generated as these devices are being
discovered. So even with scsi_wait_scan, we could end with scsi_wait_scan
done, but events still being processed by udev in userspace(?).
Shouldn't there be this sequence:
    - udev starts
    - udev loads stuff
    - udev-settle
    - scsi_wait_scan
 ---> udev-settle <---

> - can continue with LVM or whatever activation
> 
> The removal of scsi_wait_scan doesn't actually mean any of the bus scans are
> done when you wait on systemd-udev-settle, so making that change won't
> really solve the issue you need. If I'm understanding it right, I think

...sure, udev-settle *does not* solve the background scsi scan.

> in a world without scsi-wait-scan, you're likely going to need to enable
> lvmetad and do incremental activation to have thigns work properly.
> 

Yes, we're hardening lvmetad at the moment to make it enabled by
default and use it as a primary source of metadata information,
where the initial scan done on the devices is based on udev events
that update the lvmetad itself. So LVM is finally going to be fully
event-based.

That's exactly where we're heading actually...

Peter




More information about the lvm-devel mailing list