All of lore.kernel.org
 help / color / mirror / Atom feed
* handling mdmon in the initramfs
@ 2009-10-01 23:23 Dan Williams
  2009-10-02  2:05 ` Neil Brown
       [not found] ` <4AC53A0D.6060806-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
  0 siblings, 2 replies; 9+ messages in thread
From: Dan Williams @ 2009-10-01 23:23 UTC (permalink / raw)
  To: Neil Brown, Hans de Goede, Harald Hoyer
  Cc: initramfs-u79uwXL29TY76Z2rM5mHXA, Ciechanowski, Ed, Labun, Marcin,
	Danecki, Jacek, Patelczyk, Maciej

Hi,

As I learned from Hans and Harald at Plumbers, mdadm and mdmon currently 
have a few sharp edges when being handled in the initramfs environment. 
  In talking over some proposed fixes there was a question about the 
full set of requirements.  Here is a rundown of the problems and 
proposed solutions...

Problem 1: Ensuring mdmon is active while writes may be in flight
The kernel will block writes to member disks that have failed and all 
writes while the array is not in the 'active' state.  For these reasons 
mdmon is needed in the initramfs because some file systems write to the 
backing device, even when mounting read-only, to recover their journal.

However, once that is done Neil points out that mdmon will not be needed 
again until the filesystem is mounted read-write.  Even if the array 
goes degraded as a result of running the startup scripts the kernel will 
allow reads to pass, so we may not need rigid 100% mdmon coverage.

Two strategies for this situation are to stop mdmon after mounting the 
rootfs, or just let it be terminated as a result of starting a new 
instance from the final rootfs.  The latter approach brings up the 
question of how to communicate with the initramfs-mdmon-instance to make 
sure we do not end up with two mdmon instances servicing the same 
container.  The proposed solution here is to switch to 
abstract-namespace-sockets removing the need to drop a socket file.

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.

There was also a report about an udev event storm during incremental 
assembly, but I am not clear on the sequence of events?

Any other missed requirements or problems with the proposed solutions?

Thanks,
Dan
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-10-02  8:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-01 23:23 handling mdmon in the initramfs Dan Williams
2009-10-02  2:05 ` Neil Brown
     [not found]   ` <19141.24565.657477.284252-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-10-02  2:52     ` Dan Williams
2009-10-02  3:31       ` Neil Brown
     [not found]         ` <19141.29719.815785.550499-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-10-02  5:29           ` Kay Sievers
2009-10-02  7:14           ` Hans de Goede
2009-10-02  7:39             ` Neil Brown
     [not found]               ` <19141.44581.425618.711550-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-10-02  8:02                 ` Hans de Goede
     [not found] ` <4AC53A0D.6060806-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2009-10-02  7:09   ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.