On Fri, Nov 28, 2014 at 06:05:48PM +0100, Goffredo Baroncelli wrote: > On 11/27/2014 05:15 AM, Zygo Blaxell wrote: > > This is a weakness of the current udev and asynchronous device hotplug > > concept: there is no notion of bus enumeration in progress, so we can be > > trying to assemble multi-device storage before we have all the devices > > visible. Assembly of aggregate storage (whatever it is--btrfs, md, > > lvm2...) has to wait until all known storage buses are fully enumerated > > in order to detect if there are duplicates. > > It is more complex than that. Some devices may appear after the "1st" bus > enumeration.
That case is well handled already--a new enumeration will start with the second (and all later) hotplug events. The problem arises when we try to assemble disk arrays before the known end of the "1st" (or any) enumeration. There is no way for an enumerating agent to tell other agents "this is definitely not the complete list of devices yet, other devices may be inserted imminently" and defer all the multi-device assembly until the address space of the enumering bus is fully covered.
signature.asc
Description: Digital signature