On Apr 7, 2009, at 2:05 AM, Goswin von Brederlow wrote:
Doug Ledford <dledford@xxxxxxxxxx> writes:Originally, mdadm used /var/run/mdadm/mdadm.map file to store the temporary mappings of incrementally added devices to device names. Unfortunately, this breaks incremental assembly if used early in the booting process. Specifically, root may still be read only. Since incremental assembly is largely a udev specific feature, and udev needs a writable /dev tmpfs mount even when root is still read only, it's safer to put our mdadm.map file in /dev/md so that we can write to the map file no matter how early in the boot process we are attempting to use incremental assembly.What about /lib/init/rw?
Never heard of it. But, if / is read-only, why wouldn't that also be read-only?
You say largely udev specific so there might not be an udev running and no tmpfs on /dev.
Generally speaking, it's only ever going to be used by udev or run manually. I doubt people will use it in things like rc.sysinit. However, regardless of all that, udev is started before any manual device bringups, so even if someone did decide to use it manually in rc.sysinit when root is still read only, udev will already be up by then. The only exception to this would be a system that doesn't use udev at all, in which case they get what they get, and /dev/md/ mdadm.map is no better or worse than /lib/init/rw than /var/run/mdadm.
-- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: CFBFF194 http://people.redhat.com/dledford InfiniBand Specific RPMS http://people.redhat.com/dledford/Infiniband
Attachment:
PGP.sig
Description: This is a digitally signed message part