# # spec file for package mdadm (Version 2.6.7) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: mdadm Version: 2.6.7 Release: 1 BuildRequires: sgmltool PreReq: %fillup_prereq %insserv_prereq Obsoletes: raidtools AutoReqProv: on Group: System/Base License: GPL v2 or later Url: http://www.cse.unsw.edu.au/~neilb/source/mdadm/ Summary: Utility for Configuring MD Setup BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: %{name}-%{version}.tar.bz2 Source1: Software-RAID.HOWTO.tar.bz2 Source2: sysconfig.mdadm Source3: mdadmd Source4: boot.md Patch1: mdadm-2.6.7-56f8add2.patch Patch2: mdadm-2.6.7-60b435db.patch %description Mdadm is a program that can be used to control Linux md devices. It is intended to provide all the functionality of the mdtools and raidtools programs but with a very different interface. Authors: -------- Neil Brown %prep %setup -q -a1 %patch1 -p1 %patch2 -p1 %build %{suse_update_config -f} make CXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-error" cd Software-RAID.HOWTO sgml2html Software-RAID.HOWTO.sgml sgml2txt Software-RAID.HOWTO.sgml %install make install DESTDIR=$RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_var}/adm/fillup-templates install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/init.d} install -d $RPM_BUILD_ROOT/lib/udev/devices install -m 755 %{S:4} %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/ install -m 644 %{S:2} $RPM_BUILD_ROOT%{_var}/adm/fillup-templates/ ln -sf ../../etc/init.d/mdadmd $RPM_BUILD_ROOT/%{_sbindir}/rcmdadmd %post %{fillup_and_insserv -Y boot.md} %postun %restart_on_update mdadmd %{insserv_cleanup} %preun %stop_on_removal mdadmd %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %attr(0755,root,root) %config %{_sysconfdir}/init.d/* %attr(640,root,disk) %dev(b,9,0) /lib/udev/devices/md0 %attr(640,root,disk) %dev(b,9,1) /lib/udev/devices/md1 %attr(640,root,disk) %dev(b,9,2) /lib/udev/devices/md2 %attr(640,root,disk) %dev(b,9,3) /lib/udev/devices/md3 %attr(640,root,disk) %dev(b,9,4) /lib/udev/devices/md4 %attr(640,root,disk) %dev(b,9,5) /lib/udev/devices/md5 %attr(640,root,disk) %dev(b,9,6) /lib/udev/devices/md6 %attr(640,root,disk) %dev(b,9,7) /lib/udev/devices/md7 %attr(640,root,disk) %dev(b,9,8) /lib/udev/devices/md8 %attr(640,root,disk) %dev(b,9,9) /lib/udev/devices/md9 %attr(640,root,disk) %dev(b,9,10) /lib/udev/devices/md10 %attr(640,root,disk) %dev(b,9,11) /lib/udev/devices/md11 %attr(640,root,disk) %dev(b,9,12) /lib/udev/devices/md12 %attr(640,root,disk) %dev(b,9,13) /lib/udev/devices/md13 %attr(640,root,disk) %dev(b,9,14) /lib/udev/devices/md14 %attr(640,root,disk) %dev(b,9,15) /lib/udev/devices/md15 %attr(640,root,disk) %dev(b,9,16) /lib/udev/devices/md16 %attr(640,root,disk) %dev(b,9,17) /lib/udev/devices/md17 %attr(640,root,disk) %dev(b,9,18) /lib/udev/devices/md18 %attr(640,root,disk) %dev(b,9,19) /lib/udev/devices/md19 %attr(640,root,disk) %dev(b,9,20) /lib/udev/devices/md20 %attr(640,root,disk) %dev(b,9,21) /lib/udev/devices/md21 %attr(640,root,disk) %dev(b,9,22) /lib/udev/devices/md22 %attr(640,root,disk) %dev(b,9,23) /lib/udev/devices/md23 %attr(640,root,disk) %dev(b,9,24) /lib/udev/devices/md24 %attr(640,root,disk) %dev(b,9,25) /lib/udev/devices/md25 %attr(640,root,disk) %dev(b,9,26) /lib/udev/devices/md26 %attr(640,root,disk) %dev(b,9,27) /lib/udev/devices/md27 %attr(640,root,disk) %dev(b,9,28) /lib/udev/devices/md28 %attr(640,root,disk) %dev(b,9,29) /lib/udev/devices/md29 %attr(640,root,disk) %dev(b,9,30) /lib/udev/devices/md30 %attr(640,root,disk) %dev(b,9,31) /lib/udev/devices/md31 %doc ANNOUNCE-2.0 ANNOUNCE-2.1 ANNOUNCE-2.2 COPYING ChangeLog README.initramfs TODO mdadm.conf-example mkinitramfs %doc Software-RAID.HOWTO/Software-RAID.HOWTO*{.txt,.html} %doc %{_mandir}/man?/* /sbin/* /lib/udev %{_sbindir}/* %{_var}/adm/fillup-templates/sysconfig.mdadm %changelog * Fri Jun 20 2008 mmarek@suse.cz - updated to 2.6.7 + fixes from git * Avoid segfault when parsing /proc/mdstat with auto-read-only arrays. * For v0.90 superblocks, print the 'Events' count as a real count, not 2 numbers separated by a dot. * Allow creation of a RAID6 with exactly one missing device. * Use LOG_PID for syslog, so you get the pid of mdadm in the log files. * --export now works with --examine too (not just --detail) * Improve auto-creation of device special file when using --incremental * Simple locking for --incremental so mdadm doesn't get confused when run concurrently with itself. * Make --incremental cope better with arrays that are being reshaped. * Fix autoassemble for stack arrays. - remove /tmp/mdadm.conf in boot.md (bnc#401138) * Wed Apr 30 2008 mmarek@suse.cz - added some fixes from Neil's git repo, fixing bnc#368704 among others * Mon Feb 04 2008 mmarek@suse.cz - correctly display rc_status in boot.md * Wed Jan 23 2008 mmarek@suse.cz - fixed auto-assembly part of boot.md * if /etc/mdadm.conf is empy or only contains whitespace or comments, no autoassembly is done * remove /tmp/mdadm.conf even if a directory [#329678] - dropped mdrun and raidautorun (no longer needed) * Wed Oct 24 2007 mmarek@suse.cz - updated to 2.6.4 * Make "--create --auto=mdp" work for non-standard device names. * Fix restarting of a 'reshape' if it was stopped in the middle. * Fix a segfault when using v1 superblock. * Make --write-mostly effective when re-adding a device to an array. * Various minor fixes - changes in 2.6.3: * allow --write-behind to be set for --grow. * When adding new disk to an array, don't reserve so much bitmap space that the disk cannot store the required data. (Needed when 1.x array was created with older mdadm). * When adding a drive that was a little too small, we did not get the correct error message. * Make sure that if --assemble find an array in the critical region of a reshape, and cannot find the critical data to restart the reshape, it gives an error message. * Fix segfault with '--detail --export' and non-persistent superblocks. * Various manpage updates. * Improved 'raid4' support (--assemble, --monitor) * Option parsing fixes w.r.t -a * Interpret "--assemble --metadata=1" to allow any version 1.x metadata, and be more specific in the "metadata=" message printed with --examine --brief * Fix spare migration in --monitor. * Fri Jul 27 2007 mmarek@suse.cz - changes to the init script [#288454] * don't try to autoassemble if /etc/mdadm.conf exists (even an empty one) * ony autoassemble partitions found in /proc/partitions * Fri Jul 13 2007 mmarek@suse.cz - updated to 2.6.2 * --fail detached and --remove faulty can be used to fail and remove devices that are no longer physically present. * --export option for --detail or present information in a format that can be processed by udev. * fix internal bitmap allocation problems with v1.1, v1.2 metadata. * --help now goes to stdout so you can direct it to a pager. * Various manpage updates. * Make "--grow --add" for linear arrays really work. * --auto-detect to trigger in-kernel autodetect. * Make return code for "--detail --test" more reliable. Missing devices as well as failed devices cause an error. - added some fixes from Neil's git repo (mdadm-git-fixes.patch) * Thu Jun 21 2007 adrian@suse.de - fix changelog entry order * Mon Apr 02 2007 mmarek@suse.cz - updated to 2.6.1 * --monitor was producing some meaningless warnings due to a bug. * Fix some compiler warnings. * Fully support --grow for raid6. If a reshape crashed during the critical period, mdadm wouldn't restore the Q information properly. * Update documentation for --grow. * Report bitmap status in --detail and --examine * Default to v1 superblocks instead of v0.90 if the array is too big for 0.90 to handle. * Sort the output of "mdadm --detail --scan" so that it is in a suitable order for assembling arrays. i.e. components come before an array that they are part of. * Require bitmap files to have a '/' in their name. * Rewrite 'reshape' support including performing a backup of the critical region for a raid5 growth, and restoring that backup after a crash. * Put a 'canary' at each end of the backup so a corruption can be more easily detected. * Support --backup-file for backing-up critical section during growth. * Erase old superblocks (of different versions) when creating new array. * Allow --monitor to work with arrays with >28 devices * Report reshape information in --detail * Handle symlinks in /dev better * Fix mess in --detail output which a device is missing. * Support 'bitmap=' in mdadm.conf for auto-assembling arrays with write-intent bitmaps in separate files. * Fix alignment problem in version-1 superblocks. NOTE: This is an incompatable change affecting raid5 reshape. If you want to reshape a raid5 using version-1 superblocks, use 2.6.17-rc2 or later, and mdadm-2.4.1 or later. * Support 'mailfrom' line in mdadm.conf so the From: line in alert emails can be explicitly set. * Arrange that SparesMissing (which is similar in import to DegradedArray) generates an Email. * Assume "DEVICE partitions" if no DEVICE line is given. * Support new 'offset' layout for raid10. * When creating a bitmap file, choose a chunksize to limit number of bitmap chunks to 2 million. More than this can cause kmalloc failure. * New 'CREATE' line in mdadm.conf for defaults such as owner, group, mode and auto-flag * --detail checks if array has been started or not and includes that in report. * When using --update=uuid on an array with a bitmap, update the bitmap's uuid too. * Add a copy of /proc/mdstat to the mail message sent by mdadm --monitor. * New flag --no-degraded to avoid starting arrays if there are fewer devices available than last time the array was started. This is only needed with --scan, as with --scan, that behaviour is the default. * Support for 'homehost' concept. This is a fairly major update. It includes a configfile option and a command line option for specifying a homehost, records that host in the superblock, and reports the homehost where possible. * Support for Auto Assembly. "mdadm -As" will, if provided with the name of a homehost, try to assemble all arrays it can find that were created for that homehost. See man pages for more details. * Don't try to create devices with --manage or --grow * allow default metadata (superblock) type to be specified in mdadm.conf * Avoid some misdetection of overlapping partitions * Add 'Array Slot' line to --examine for version-1 superblocks to make it a bit easier to see what is happening. * Work around bug in --add handling for version-1 superblocks in 2.6.17 (and prior). * Make -assemble a bit more resilient to finding strange information in superblocks. * When creating devices in /dev/md/ create matching symlinks from /dev. e.g. /dev/md0 -> /dev/md/0. Allow this to be disabled in mdadm.conf or on command line. * Allow a number (of partitions) after the 'yes' option to --auto= This is particularly useful in the 'create' line in mdadm.conf. * Remove partitions from any whole device that is made part of an md array. This is a work-around for annoying messages when the first block on some drive accidentally looks like a partition table. * Close stray fd in mdassemble so that it can assemble stacked devices * If mdassemble finds an array already assembled, it marks it read-write. * Remove error in md_open if array is already active. This isn't needed and gets in the ways if an array was created e.g. in initramfs, but device doesn't yet exist in /dev. * When --assemble --scan is run, if all arrays that could be found have already been started, don't report an error. * Allow --assemble --force to mark a raid6 clean when it has two missing devices (which is needed else if won't assemble. Without this fix it would only assemble if one or zero missing devices. * Support --update=devicesize for cases where the underlying device can change size. * Default to --auto=yes so the array devices with 'standard' names get created automatically, as this is almost always what is wanted. * Give useful message if raid4/5/6 cannot be started because it is not clean and is also degraded. * Increase raid456 stripe cache size if needed to --grow the array. The setting used unfortunately requires intimate knowledge of the kernel, and it not reset when the reshape finishes. * Change 'Device Size' to 'Used Dev Size' because it only shows how much of each device is actually used, not how big they are. * --wait or -W will wait for resync activity to finish on the given devices. * If two drives in a raid5 disappear at the same time, then "-Af" will add them both in rather than just one and forcing the array to 'clean'. This is slightly safer in some cases. * Don't hold md device open for so long in --monitor mode - map_dev can be slow and interferes with trying to stop the array. * Support --uuid= with --create to choose your own UUID. * New major more "--incremental" for incremental assemble of arrays, intended for use with udev. * lots of bugfixes * manpage updates * Wed Jan 10 2007 mmarek@suse.cz - use raidautorun instead of mdrun to autodetect the raid arrays in boot.md [#230733] * Wed Nov 08 2006 prusnak@suse.cz - fixed subscript out of range [#212697] * Wed Sep 20 2006 mjancar@suse.cz - update to 2.5.3 * lots bugfixes * drop all patches (integrated upstream) * Fri Jul 28 2006 olh@suse.de - remove dropped boot.ibmsis from boot.md - boot.rootfsck should start before boot.md (#181972) * Fri Jul 21 2006 olh@suse.de - remove boot.proc from Required-Start: in boot.md (#178753) * Wed May 03 2006 mjancar@suse.cz - fix false SparesMissing error (#171326) * Wed Apr 26 2006 hare@suse.de - Fix init script dependencies - Implement MDADM_DEVICE_TIMEOUT to set a timeout for udevsettle (#149979) * Tue Apr 25 2006 mjancar@suse.cz - add static device nodes for udev (#168824) * Wed Apr 19 2006 mjancar@suse.cz - set $BOOT_MD_USE_MDADM_CONFIG to "yes" by default (#155120) * Fri Apr 07 2006 mjancar@suse.cz - detach mdadmd from tty in rcmdadmd (#160881) * Mon Apr 03 2006 mjancar@suse.cz - fix garbled output with --detail (#160827) - fix fix write-mostly with --add and --re-add (#162968) * Fri Mar 24 2006 mjancar@suse.cz - add /sbin/raidautorun (#159460) * Wed Mar 08 2006 mjancar@suse.cz - add $BOOT_MD_USE_MDADM_CONFIG sysconfig variable (#155120) * Thu Feb 09 2006 mjancar@suse.cz - round free size to chunk size multiply on --create (#148562) * Tue Feb 07 2006 mjancar@suse.cz - move boot.multipath to Should-Start instead of Required-Start * Mon Feb 06 2006 mjancar@suse.cz - add "Obsoletes: raidtools" - start boot.md after boot.multipath - call mdadm without -a from mdrun, an argument is required in 2.2 * Mon Feb 06 2006 mjancar@suse.de - don't start mdadmd by default * Sun Feb 05 2006 mjancar@suse.cz - include option for email to be sent on start (#142105) - fix missing md autostart due to raidtools dropped (#148234) * include mdrun script from Debian * create boot.md initscipt * Sun Feb 05 2006 schwab@suse.de - Fix memset parameters. * Thu Feb 02 2006 mjancar@suse.cz - fix segfault on --assemble (#146514) * Fri Jan 27 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Jan 25 2006 olh@suse.de - fix uninitialized variable, memset call and memcmp/memcpy bug mdadm.bug144647-array.init.patch mdadm.bug144647-update_super1-memcpy.patch mdadm.bug144647-add_internal_bitmap0-memcpy.patch * Wed Jan 11 2006 mjancar@suse.cz - update ro 2.2 * Tue Dec 20 2005 ro@suse.de - at least output errors if they occur (instead of ignoring) * Wed Nov 30 2005 schwab@suse.de - Fix broken formats. * Tue Oct 25 2005 aj@suse.de - Build with -fno-strict-aliasing. * Wed Oct 12 2005 mjancar@suse.cz - update to 2.1 * Thu Jul 28 2005 anicka@suse.cz - update to 1.12.0 * Wed Jun 15 2005 meissner@suse.de - use RPM_OPT_FLAGS correctly. * Tue Apr 19 2005 postadal@suse.de - updated to version 1.11.0 - fixed for gcc 4.0 - removed obsoleted patch config-fix * Wed Mar 30 2005 postadal@suse.cz - fixed parsing command line option '--config=partions' [#74603] * Fri Feb 04 2005 postadal@suse.cz - updated to version 1.9.0 * Thu Jan 13 2005 postadal@suse.cz - updated to version 1.8.1 - extended comment in sysconfig.mdadm [#48567] * Fri Aug 06 2004 postadal@suse.cz - updated to version 1.6.0 * added --auto= and --assume-clean options * added "degraded" and "recovering" options to the "Status:" entry * Tue Feb 10 2004 postadal@suse.cz - updated to version 1.5.0 * new commands "mdassemble" * support for raid6 as found in 2.6.2 * support partitioned md arrays with a different major number and naming scheme * added "SparesMissing" event when --monitor first sees an array and it doesn't have the enough spare devices. * Sun Jan 11 2004 adrian@suse.de - add %%defattr * Mon Dec 01 2003 fehr@suse.de - fix quoting problem in start script (#33392) * Fri Aug 29 2003 fehr@suse.de - add PreReq for fillup * Tue Aug 26 2003 fehr@suse.de - add %%stop_on_removal and %%restart_on_update * Thu Aug 14 2003 fehr@suse.de - add missing activation metadata in sysconfig (#28901) * Tue Jul 29 2003 fehr@suse.de - update to new version 1.3.0 of package * Mon Apr 14 2003 postadal@suse.cz - fixed init script (added return value for unimplemented reload function) * Mon Mar 31 2003 postadal@suse.cz - added buildroot, init script, sysconfig - bzip2 sources and cleaned specfile * Thu Mar 20 2003 fehr@suse.de - update to version 1.2.0 of package * Mon Mar 03 2003 fehr@suse.de - update to version 1.1.0 of package * Mon Dec 02 2002 fehr@suse.de - Fix for new glibc/gcc * Tue Sep 17 2002 ro@suse.de - removed bogus self-provides * Fri Sep 13 2002 lmb@suse.de - Fix for 64bit arch; ioctl returns long instead of int (#20339) * Fri Aug 23 2002 lmb@suse.de - Multipath arrays can now be build manually even without a superblock. - One debugging chunk removed from patch. * Tue Aug 13 2002 lmb@suse.de - Fix for the assembly of multipath arrays. * Mon Aug 12 2002 lmb@suse.de - Added patch to support the enhanced multipath features. * Mon Aug 05 2002 fehr@suse.de - make SuSE package from version 1.0.1 of mdadm