Reproducible on recent RHEL7.
+++ This bug was initially created as a clone of Bug #947815 +++
(discussed with Kay and Harald on IRC, Harald can reproduce it)
After mdadm -C ..., udev sometimes doesn't show 'ID_FS_TYPE = linux_raid_member' for a member device of the new RAID.
Version-Release number of selected component (if applicable):
systemd-199-1.fc20.x86_64
kernel-3.9.0-0.rc4.git0.1.fc20.x86_64
How reproducible:
~ 10%
Steps to Reproduce:
1. run this loop:
for i in $(seq 100); do
echo ---------------;
mdadm -S /dev/md0;
wipefs -a /dev/sdb1;
wipefs -a /dev/sdb2;
udevadm settle;
udevadm info /dev/sdb1 | grep ID_FS_TYPE;
mdadm -C --force -l 0 -n 2 /dev/md0 /dev/sdb1 /dev/sdb2;
udevadm settle;
udevadm info /dev/sdb1 | grep ID_FS_TYPE;
done | tee log
2. grep ID_FS_TYPE log | wc -l
Actual results:
less than 100 'ID_FS_TYPE' strings found in the log
Expected results:
exactly 100 'ID_FS_TYPE' strings found in the log
Additional info:
It is reproducible only with two devices on one disk, i.e. sdb1 and sdb2. With two different disks, e.g. sda1 and sdb1, it works well.
Also, when 'udevadm info /dev/sdb1' doesn't show ID_FS_TYPE, it is still *not* updated after ~1 minute or 'udevadm settle'. Only 'udevadm trigger' helps.
(This indicates that something did not generate some event, but I really don't know udev or kernel internals).
--- Additional comment from Harald Hoyer on 2013-04-08 16:17:10 EDT ---
With the patched mdadm, I am not able to hit the bug.
--- Additional comment from Jes Sorensen on 2013-04-11 09:35:38 EDT ---
Slightly modified patch posted upstream - lets see what the maintainer says
to it.