Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 273902 - System stops booting with error "md: array md* already has disks!" on sys-fs/evms-2.5.5 with gentoo-sources >=2.6.29
Summary: System stops booting with error "md: array md* already has disks!" on sys-fs/...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High critical with 5 votes (vote)
Assignee: Tiziano Müller (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 372423
  Show dependency tree
 
Reported: 2009-06-12 18:10 UTC by Phillip Merensky
Modified: 2011-07-03 09:20 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phillip Merensky 2009-06-12 18:10:10 UTC
I get a "md: array md* already has disks!" Error for all my md regions managed by evms. The system stops booting and displays a command prompt after this error.
The exactly same configuration works with kernel 2.6.27-gentoo-r10 though.

Reproducible: Always

Steps to Reproduce:
1. Upgrade to kernel 2.6.29
2. Reboot with exactly same location (evms in initrd)
3. Get a "md: array md* already has disks!" error for each raid region which is managed by evms

Actual Results:  
System stops booting at an evms command prompt. 

Expected Results:  
System boots normally

Activating/deactivating kernel option CONFIG_MD_AUTODETECT (v2.6.29-gentoo-r5) makes no difference.

http://www.nabble.com/%22array-md0-already-has-disks%22-with-kernel-2.6.29-td23131323.html seems related.
Comment 1 Jules Gagnon 2009-06-18 13:28:06 UTC
I have the same problem. I was running with 2.6.28-r5 with no problem, but with 2.6.29-r5 evms cannot activate any raid, only regular evms volumes. My initrd is generated by genkernel and I have evms-2.5.5-r10.
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-06-21 14:52:41 UTC
Please always post your "emerge --info" when you report bugs to our bug-tracker.
Comment 3 Phillip Merensky 2009-06-21 16:12:26 UTC
(In reply to comment #2)
> Please always post your "emerge --info" when you report bugs to our
> bug-tracker.
> 
Sorry.
here it comes...

Portage 2.1.6.13 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r5 x86_64)
=================================================================                                                
System uname: Linux-2.6.29-gentoo-r5-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8600_@_2.40GHz-with-glibc2.2.5           
Timestamp of tree: Sun, 21 Jun 2009 07:45:02 +0000                                                               
distcc 3.1 x86_64-pc-linux-gnu [disabled]                                                                        
ccache version 2.4 [enabled]                                                                                     
app-shells/bash:     3.2_p39                                                                                     
dev-java/java-config: 2.1.7                                                                                      
dev-lang/python:     2.5.4-r2                                                                                    
dev-util/ccache:     2.4-r7                                                                                      
dev-util/cmake:      2.6.4                                                                                       
sys-apps/baselayout: 1.12.11.1                                                                                   
sys-apps/sandbox:    1.6-r2                                                                                      
sys-devel/autoconf:  2.13, 2.63-r1                                                                               
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2                                           
sys-devel/binutils:  2.18-r3                                                                                     
sys-devel/gcc-config: 1.4.1                                                                                      
sys-devel/libtool:   1.5.26                                                                                      
virtual/os-headers:  2.6.27-r2                                                                                   
ACCEPT_KEYWORDS="amd64"                                                                                          
CBUILD="x86_64-pc-linux-gnu"                                                                                     
CFLAGS="-march=nocona -O2 -pipe"                                                                                 
CHOST="x86_64-pc-linux-gnu"                                                                                      
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config /var/lib/hsqldb"                                                                                                                                                                                   
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"                                                                                                                                                        
CXXFLAGS="-march=nocona -O2 -pipe"                                                                                                                                                    
DISTDIR="/usr/portage/distfiles"                                                                                                                                                      
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"                                                                 
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://mirror.cambrium.nl/pub/os/linux/gentoo/ ftp://gentoo.imj.fr/pub/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/"                                                                                                                                                 
LANG="de_DE.UTF-8"                                                                                                                                                                    
LDFLAGS="-Wl,-O1"                                                                                                                                                                     
LINGUAS="de"                                                                                                                                                                          
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/home/portage/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="16bit 7zip X a52 aac aalib accessibility acl acpi aim alsa amarok amd amd64 aoss apache2 asf autoipd automount autoreplace avahi avantgo bash-completion berkdb binary binfilter bl blender-game bluetooth bootsplash branding bzip2 cairo calendar ccache cdaudio cddb cdparanoia cdr cgi chm cisco cleartype cli connectionstatus consolekit contactnotes cpudetection cracklib crypt css cups cvs dbcp dbus dga dhcp dhcpcd divx dmi dom4j dri dts dv dvd dvdr dvdread embedded emboss encode esd esx evo excel exif fam fastcgi fat fbcon fbcondecor fbsplash firefox firefox3 flac flash flv fontconfig fortran ftp gcj gd gdbm geldkarte gif gimp gimpprint glib glitz gmedia gnokii gnutls google-gadgets gphoto2 gpm gs gstreamer gtk gvim gzip hal hash hbci hdaps hfs http ibmacpi ical iconv icq image imagemagick imap inifile innodb irc irda isdnlog jabber java java5 javascript jboss jcs jfs john jpeg jpeg2k jpgraph kcal kde kde4 kdeenablefinal kdepim kdm kipi kpathsea kqemu kvm lame laptop latex latex3 lcms libcaca libnotify libsamplerate lirc log4j logitech-mouse logrotate logwatch lucene lzo mad mail maildir mcal mdnsresponder-compat midi mikmod mime mjpeg mmx mmxext mng modplug mozdevelop mozilla moznocompose moznoirc moznomail mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer msn msnextras mtp mudflap multilib mysql mysqli ncurses networkmanager nfs njb nls nptl nptlonly nsplugin nss ntfs ntlm ocaml ofx ogg opengl openmp openssl oscar otr pam pcre pda pdf perl phonon php plotutils png postscript povray ppds pppd pptp print pulseaudio python qemu-fast qt3 qt3support qt4 quicktime rar rdesktop readline reflection reiser4 reiserfs resolvconf samba scanner sdl sensord session sharedmem sms spell spl sql sqlite sqlite3 sse sse2 ssl startup-notification subversion svg sysfs syslog tcpd templates texteffect tga theora threads threadsafe thumbnail tidy tiff tk tokenizer truetype unicode usb utempter v4l v4l2 vcd vde vim vim-pager vim-syntax visualization vnc vorbis webkit wifi wma wmp x264 x86emu xanim xcb xcomposite xfs xine xinerama xml xorg xscreensaver xulrunner xv xvid yv12 zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="intel vesa vga fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 4 Alex Moore 2009-07-03 19:55:16 UTC
I hit this problem as well. It works fine on 2.6.28-gentoo-r5 but not 2.6.29-gentoo-r5.

When the boot fails, and I'm dropped back to a shell in the initrd environment, the tools available are a little limited, so I tried troubleshooting from a recent auto-build minimal install CD (ie one which is also based on a 2.6.29 kernel, and therefore exhibits this same problem). Since /root is no longer on an affected array it makes it easier to investigate.

Anyway, once the live CD has booted, a simple "evms-activate" results in exactly the same "array already has disks" errors exhibited by the initrd during boot. However, if I now stop the array with "mdadm -S /dev/md0" (seems this often needs to be run multiple times), and then start it up again using the mdadm tools rather than EVMS (eg "mdadm --assemble" with appropriate options), and then run "evms-activate" afterwards, everything works beautifully again (ie the EVMS devices appear, and I can mount them and access my data).

This suggests to me that while this may be a compatibility issue of some kind between EVMS and the 2.6.29 kernel affecting MD RAID devices, it could potentially be worked around by different behaviour within the initrd when activating devices.

Note that I use genkernel-3.4.10.904, with the "--evms" option, to build my kernel and initrd. I don't really know how to go about customizing the initrd as a means of trying to come up with such a workaround by myself.
Comment 5 Jeremy Huddleston Sequoia 2009-07-13 20:17:21 UTC
(In reply to comment #4)
> I hit this problem as well. It works fine on 2.6.28-gentoo-r5 but not
> 2.6.29-gentoo-r5.
> 
> When the boot fails, and I'm dropped back to a shell in the initrd environment,
> the tools available are a little limited, so I tried troubleshooting from a
> recent auto-build minimal install CD (ie one which is also based on a 2.6.29
> kernel, and therefore exhibits this same problem). Since /root is no longer on
> an affected array it makes it easier to investigate.
> 
> Anyway, once the live CD has booted, a simple "evms-activate" results in
> exactly the same "array already has disks" errors exhibited by the initrd
> during boot. However, if I now stop the array with "mdadm -S /dev/md0" (seems
> this often needs to be run multiple times), and then start it up again using
> the mdadm tools rather than EVMS (eg "mdadm --assemble" with appropriate
> options), and then run "evms-activate" afterwards, everything works beautifully
> again (ie the EVMS devices appear, and I can mount them and access my data).

I don't even have mdadm in my initrd, and I am experiencing this problem as well, so it's not a problem with mdadm running or not.

The arrays should be assembled for you without running mdadm.

Perhaps ordering the 'insmod ___' differently for md, dm-*, etc will help out some people, but I have all of those built in to the kernel, so I don't need to put modules in my initrd and rebuild it every time.

My initrd is *very* simple and just does:

mount /proc, /sys
start_udev
evms_activate
mount /sysroot
pivot

Comment 6 John Huttley 2009-07-21 07:17:26 UTC
Exactly the same with my amd64 system.
My system does not use modules for block IO.

I request that the latest gentoo-sources-2.6.28 stay in the tree until the issue is resolved.


Comment 7 Danny Wijsman 2009-08-06 18:35:56 UTC
Same here on a x86 system.
Compiled 2.6.28-gentoo-r5, 2.6.29-gentoo-r5 and 2.6.30-gentoo-r4 with the same genkernel, same busybox, same everything and only the 2.6.28 (and previous) version boots fine.
The arrays get an inactive state "blocks super non-persistent", after that evms-activate fails because nothing is active...
I suspect there has been some changes in the kernel -> 2.6.29


Comment 8 Jeremy Huddleston Sequoia 2009-09-29 08:34:47 UTC
No progress seems to be happening here... I've reported it upstream at:
http://bugzilla.kernel.org/show_bug.cgi?id=14246
Comment 9 Jeremy Huddleston Sequoia 2010-01-28 02:54:07 UTC
The kernel patch to address this issue has been pushed into master (Dec 30)
Comment 10 Matteo Contri 2010-11-03 19:43:41 UTC
i can confirm that problem was fixed, at least in stable 2.6.32-hardened-r9.
No workaround is necessary, the new kernel just works as expected.
Comment 11 Andrew Schulman 2010-11-03 21:50:51 UTC
That's good.  Unfortunately it comes too late, as EVMS is dead - long since abandoned upstream, still coded in GTK1, and unable to manage more recent file systems or even encrypted volumes.  It's a crying shame, because there never was as good a product for storage management, before or since, but that's the reality.
Comment 12 Markos Chandras (RETIRED) gentoo-dev 2011-07-03 09:20:53 UTC
sys-fs/evms has been removed from portage tree