Hello everyone.

When I was setting a server of mine, I've simplified a bit raid / 
raid-partitions hooks, as well as rc.sysinit part responsible for array 
assembly.

Assuming that proper mdadm.conf is present (and, imo, it should be, and by 
the looks of rc.sysinit, that's what is required either way) - any assembly 
can be handled by mdadm, with all nodes / symlinks creation and/or fixing by 
it (what can be further controlled by CREATE line), in a single hook. Even 
without mdadm.conf, it's still possible to create one on the fly, but naming 
can be a problem here, especially if version <1 superblock is used. Of 
course, no old md= configuration in kernel commandline is needed either.

So - I was thinking about making it a bit more generic (i.e. detection of 
which modules to load (with a help of grep or some grep'ish command), some 
control from rc.conf - regarding naming, symlinks) and then submitting 
additional files / diffs.

If you accepted this, the major question for me would be about udev and how 
should I set it functioning along the way with mdadm.

To be honest, in my setup md (and dm as well) is at this moment ignored by 
udev - both mdadm (and lvm) handle all node related tasks well, and udev is 
somewhat duplicating their functionality. Besides, looking at lvm, i.e. in 
rc.sysinit, vgscan --mknodes is still required, as lvchange/vgchange won't 
trigger uevents when volumes are available (result of earlier cpio image's 
actions).

Still, while dm plays along with udev nicely (and no need to change it), 
I've had some tiny problems in md case (which were the initial reason for me 
to change default hooks / rc.sysinit) - delayed uevents for partitions 
(mentioned in #7699  - but it's acutally a generic issue, not Arch 
dependent), no default rules for partitionable arrays in Arch, as well as 
creating links in different way compared to mdadm (md/device -> device 
instead of device -> md/device). Also, without external program, I don't see 
a way to properly name raid partitions through udev (md/dNpM +symlink from 
md_dNpM - not mentioning setting arrays with custom names).

Comparing to lvm - both udev and lvm manage links at the same time. Both 
vgN/* and mapper/vgN-* are managed/fixed by lvm. Udev overlaps here on 
mapper/vgN-* area. Something similar to lvm's dmsetup could be made here, so 
udev and mdadm are "in sync". But it feels like doing something just for the 
sake of doing it, while mdadm gets all the job done, and well.


Two other "newcomer" questions:


1) While we're at udev subject, I was curious - why not use xx-some.rules 
scheme, where xx are numbers and possibly letters ? The point is - shouldn't 
part like "early udev rules" be really parsed and run before everything else 
? Currently, udev.rules due to its 'u' letter in the front, is usually 
parsed after everything else, be it files with numbered (i.e. 99-fuse.rules) 
or unnumbered names (i.e. device-mapper.rules).


2) ca. month ago I made small bug report about dumpkeys / loadkeys ( #7641 , 
low priority though, so I guess it takes its time). Normally, when dumpkeys 
is used without -c, it always assumes standard 8859-1 charset during dump, 
and following loadkeys --unicode will not load the map properly. Just well.. 
reminding about it :)


PS.

Thanks for Arch (64). Quite a felxible beast and nice so far to use :)

_______________________________________________
arch mailing list
[email protected]
http://archlinux.org/mailman/listinfo/arch

Reply via email to