[arch-dev-public] mdadm udev + initramfs (WAS: Re: Big changes to LVM2 in testing)

Dave Reisner d at falconindy.com
Sun Nov 4 11:40:37 EST 2012


On Sun, Nov 04, 2012 at 05:25:22PM +0100, Thomas Bächler wrote:
> Am 04.11.2012 17:19, schrieb Dave Reisner:
> >> The solution would be to include the udev rules in the mdadm hook as
> >> well, and just disable auto-assembly.
> > 
> > This was always the sticking point -- is there a way to disable auto
> > assembly but keep the rule file as is? I'd rather we didn't duplicate
> > it.
> 
> There is, and it is incredibly stupid: The non-udev mdadm hook includes
> 'mdassemble' and not 'mdadm', and the udev rule uses 'mdadm'. If we add
> the udev rule to the hook as it is, we're fine. Or we symlink mdadm to true.
> 

Yeah that's pretty stupid =P. You'll miss out on some metadata being
added to the device nodes in the udev DB by doing this.. things like:

MD_LEVEL=raid0
MD_DEVICES=2
MD_METADATA=1.2
MD_UUID=edf34247:6a46d6e6:0b209b2c:a9b29539
MD_DEVNAME=0
MD_NAME=archiso:0

Though, I suppose this will just get added when udevadm trigger is
called later in userspace proper.

> >> While we're at it, I'd like to fix mdadm's udev rule to use
> >> BUILTIN+="blkid" instead of manually calling blkid.
> > 
> > This is definitely needed. I think the -o udev output from blkid is
> > going away in u-l 2.23. The blkid builtin is already almost a year old
> > -- would make more sense to just convince upstream to make the change.
> 
> Yes, we should report it to them, but we should also patch our version
> of the rule.
> 

The rule is showing signs of age elsewhere too -- things like $tempnode
should be replaced with $devnode instead (the former is a relic of
pre-devtmpfs).

d


More information about the arch-dev-public mailing list