Re: handling mdmon in the initramfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/02/2009 05:31 AM, Neil Brown wrote:

<snip>

Problem 2: Discovery / Assembly
Several issues have forced dracut to punt on using mdadm -I.  Instead
dracut copies mdadm.conf to the initramfs and uses mdadm -As after a
udevadm --settle.  One low hanging issue is the fact that non-rootfs
arrays may only be partially assembled when dracut discovers and
switches to the final rootfs.  Upon switching the in-progress map file
is lost.  Moving /var/run/mdadm/map to /dev/.mdadm/map would appear to
solve this issue.

mdadm already uses /dev/.mdadm.map if /var/run is not writable.  So is
this a solved problem, or do we need some other way to force mdadm not
to use /var/run too early.

So you are talking about commit cf3a3d78 [2].  I think the problem is
that /var/run/mdadm/map is writable in dracut so we never fall back to
/dev/.mdadm.map.  Any reason to not make /dev/.mdadm.map the first
location to try?

Because (damn it) the file is not a device file, it is a
run-time-management file and so it belongs in /var/run.  If we just
put things wherever was convenient instead of where they belonged we
would end up with something like /proc!

If there is a writable /var/run in early boot, presumably it is a
tmpfs filesystem.
Would it not be simple to
    mount --bind /var/run /root/var/run
before the pivot_root, or maybe "mount --move"?
Then everything would benefit from a stable /var/run and nothing would
have to put silly inappropriate files in /dev.

On the other hand, if /var/run is not a tmpfs filesystem and is
normally part of the real /var, what is the justification for having a
writable /var/run in early boot?  Sounds like a recipe for confusion.


There is no such thing in the initrd (a writable /var/run), but there is
a writable / (initrd == ramdisk), and mdadm will happily create /var/run
itself, if it would not do that, there would no issue.

Although I do wonder how later, when we do have a writable /var/run, mdadm
decides which file to use. Once it has used /dev/.mdadm.map once it should
keep on using that.

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux