udev event for md setup sent too early
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
linux-source-2.6.20 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
mdadm (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-source-2.6.20
During the feisty rc testing, fabbione had a test system with the following symptoms: The underlying md* device(s) would start properly, but the lvm made out of those would not.
The symptoms were not reproduceable with udevd --verbose so we have no corresponding udev log, so we investigated by instrumenting the udev rules.
We discovered that the vgscan,vgchange udev rule was not being executed for the md device; investigating further showed that the vol_id rule in 65-persistent-
We concluded that the kernel has sent the change udev event for the md activation too early - at a point where the device is not yet properly readable. This causes vol_id to fail to identify the raid as an lvm pv, and vgscan,vgchange is not run.
We were able to "fix" the problem on the troubled system by inserting, just before the call to vol_id in 65-persistent-
I have added a Malone task for mdadm so that the bug contacts for mdadm will get mails about this bug, even though we think there is not a bug in mdadm here.