Summary: The mdadm program controls Linux md devices (software RAID arrays) Name: mdadm Version: 3.1.5 Release: 1%{?dist} Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2 Source1: mdmonitor.init Source2: raid-check Source3: mdadm.rules Source4: mdadm-raid-check-sysconfig Source5: mdadm-cron Patch0: mdadm-3.1.5-unused-param.patch Patch19: mdadm-3.1.3-udev.patch Patch20: mdadm-2.5.2-static.patch URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/ License: GPLv2+ Group: System Environment/Base BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Obsoletes: mdctl,raidtools Requires(post): /sbin/service, /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service Requires: udev %description The mdadm program is used to create, manage, and monitor Linux MD (software RAID) devices. As such, it provides similar functionality to the raidtools package. However, mdadm is a single program, and it can perform almost all functions without a configuration file, though a configuration file can be used to help with some common tasks. %prep %setup -q %patch0 -p1 -b .param %patch19 -p1 -b .udev %patch20 -p1 -b .static %build make %{?_smp_mflags} CXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" SYSCONFDIR="%{_sysconfdir}" mdadm mdmon %install rm -rf %{buildroot} make DESTDIR=%{buildroot} MANDIR=%{_mandir} BINDIR=/sbin install rm -f %{buildroot}/lib/udev/rules.d/64* install -Dp -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/mdmonitor install -Dp -m 755 %{SOURCE2} %{buildroot}%{_sbindir}/raid-check install -Dp -m 644 %{SOURCE3} %{buildroot}/lib/udev/rules.d/65-md-incremental.rules install -Dp -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/raid-check install -Dp -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/cron.d/raid-check mkdir -p -m 700 %{buildroot}/var/run/mdadm %clean rm -rf %{buildroot} %post if [ "$1" = 1 ]; then /sbin/chkconfig --add mdmonitor fi %preun if [ "$1" = 0 ]; then service mdmonitor stop > /dev/null 2>&1 ||: /sbin/chkconfig --del mdmonitor fi %postun if [ "$1" -ge "1" ]; then service mdmonitor condrestart > /dev/null 2>&1 fi %files %defattr(-,root,root,-) %doc TODO ChangeLog mdadm.conf-example COPYING misc/* /lib/udev/rules.d/* /sbin/* %{_sbindir}/raid-check %{_initrddir}/* %{_mandir}/man*/md* %config(noreplace) %{_sysconfdir}/cron.d/* %config(noreplace) %{_sysconfdir}/sysconfig/* %ghost %attr(0700,root,root) %dir /var/run/mdadm %changelog * Fri Mar 25 2011 Doug Ledford - 3.1.5-1 - Update to latest upstream stable release - Update mdadm.rules file to honor noiswmd and nodmraid command line options - Ghost the directory in /var/run, create /var/run/mdadm in mdmonitor init script - Don't report mismatch counts on either raid1 or raid10 - Check both active and idle arrays during raid check runs - Move the raid-check script from cron.weekly to /usr/sbin, add a crontab file to /etc/cron.d and mark it config(noreplace). This way users can select their own raid-check frequency and have it honored through upgrades. - Allow the raid-check script to set the process and io priority of the thread performing the check in order to preserve responsiveness of the machine during the check. - Resolves: 633229, 656620. 679843, 671076, 659933 * Tue Feb 08 2011 Fedora Release Engineering - 3.1.3-0.git20100804.2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Aug 04 2010 Doug Ledford - 3.1.3-0.git20100804.2 - Add udev patch to not have incremental assembly in two rules files * Wed Aug 04 2010 Doug Ledford - 3.1.3-0.git20100804.1 - Update to latest upstream release (resolves an issue with stale lock files on the md device map file) * Thu Jul 22 2010 Doug Ledford - 3.1.3-0.git20100722.2 - Remove the glibc-static buildreq and don't build the static mdadm since we don't install it anyway - Remove the udev file since adding it was supposed to be a rawhide only change * Thu Jul 22 2010 Doug Ledford - 3.1.3-0.git20100722.1 - Change git date format to the correct format (YYYYMMDD) - Update to latest upstream push (fixes bz604023) * Tue Jul 20 2010 Doug Ledford - 3.1.3-0.git07202010.2 - Fix racy locking of mapfile (bz616596) * Tue Jul 20 2010 Doug Ledford - 3.1.3-0.git07202010.1 - Update to latest git repo (3.1.2 plus pending changes, fixes bz602457) - Add in 64-md-raid.rules to compensate for it no longer being in udev (bz581905) - Remove mdadm.static as its no longer used in initrd creation * Tue Apr 13 2010 Doug Ledford - 3.1.2-10 - Minor update to mdadm.rules to make anaconda happy * Thu Apr 08 2010 Doug Ledford - 3.1.2-9 - Slight fix on container patch * Thu Apr 08 2010 Doug Ledford - 3.1.2-8 - Updated container patch that also enables mdadm -IRs for imsm devices * Tue Apr 06 2010 Doug Ledford - 3.1.2-7 - Fix up directory in mdmonitor init script so that we restart mdmon like we are supposed to - Add a rule to run incremental assembly on containers in case there are multiple volumes in a container and we only started some of them in the initramfs - Make -If work with imsm arrays. We had too restrictive of a test in sysfs_unique_holder. - Make incremental assembly of containers act like incremental assembly of regular devices (aka, --run is needed to start a degraded array) * Tue Apr 06 2010 Doug Ledford - 3.1.2-6 - Typo in new rules file * Tue Apr 06 2010 Doug Ledford - 3.1.2-5 - Enable incremental support for imsm devices * Tue Apr 06 2010 Doug Ledford - 3.1.2-4 - One line fix for ppc64 compiles * Tue Apr 06 2010 Doug Ledford - 3.1.2-3 - Clean up directory mess once and for all - Add incremental remove support * Wed Mar 17 2010 Doug Ledford - 3.1.2-2 - Add a little more paranoia checking to the RebuildMap code to avoid ever having the same infinite loop as in bz569019 again even if we change file locations to somewhere where we can't create a mapfile * Tue Mar 16 2010 Doug Ledford - 3.1.2-1 - Grab latest upstream release instead of git repo snapshot (bz552344, bz572561) - The lack of /dev/md is causing problems, so add code to mapfile.c to cause us to create /dev/md if it doesn't exist (bz569019) * Tue Feb 23 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.6 - Newer version of imsm patch that leaves warning, but only when there actually are too many devices on the command line (bz554974) * Sun Feb 21 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.5 - The uuid patch cause a different problem during assembly, so use a gross hack to work around the uuid issue that won't break assembly until fixed properly upstream (bz567132) * Sun Feb 21 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.4 - Fix problem with booting multiple imsm containers when they aren't listed "just so" in the mdadm.conf file (bz554974) * Fri Feb 19 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.3 - Don't run the raid-check script if the kernel doesn't support md devices (bz557053) - Don't report any mismatch_cnt issues on raid1 devices as there are legitimate reasons why the count may not be 0 and we are getting enough false positives that it renders the check useless (bz554217, bz547128) * Thu Feb 18 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.2 - Fix s390/ppc64 UUID byte swap issue * Wed Feb 17 2010 Doug Ledford - 3.1.1-0.gcd9a8b5.1 - Update to head of upstream git repo, which contains a significant number of bug fixes we need (bz543746) * Fri Jan 15 2010 Doug Ledford - 3.0.3-3 - Fix crash when AUTO keyword is in mdadm.conf (bz552342) * Tue Dec 01 2009 Doug Ledford - 3.0.3-2 - Minor tweak to init script for LSB compliance (bz527957) * Wed Nov 04 2009 Doug Ledford - 3.0.3-1 - New upstream release 3.0.3 (bz523320, bz527281) - Update a couple internal patches - Drop a patch in that was in Neil's tree for 3.0.3 that we had pulled for immediate use to resolve a bug - Drop the endian patch because it no longer applied cleanly and all attempts to reproduce the original problem as reported in bz510605 failed, even up to and including downloading the specific package that was reported as failing in that bug and trying to reproduce with it on both ppc and ppc64 hardware and with both ppc and ppc64 versions on the 64bit hardware. Without a reproducer, it is impossible to determine if a rehashed patch to apply to this code would actually solve the problem, so remove the patch entirely since the original problem, as reported, was an easy to detect DOA issue where installing to a raid array was bound to fail on reboot and so we should be able to quickly and definitively tell if the problem resurfaces. - Update the mdmonitor init script for LSB compliance (bz527957) - Link from mdadm.static man page to mdadm man page (bz529314) - Fix a problem in the raid-check script (bz523000) - Fix the intel superblock handler so we can test on non-scsi block devices * Fri Oct 2 2009 Hans de Goede - 3.0.2-1 - New upstream release 3.0.2 - Add a patch fixing mdadm --detail -export segfaults (bz526761, bz523862) - Add a patch making mdmon store its state under /dev/.mdadm for initrd mdmon, rootfs mdmon handover - Restart mdmon from initscript (when running) for rootfs mdmon handover * Thu Sep 17 2009 Doug Ledford - 3.0-4 - Stop some mdmon segfaults (bz523860) * Tue Sep 15 2009 Doug Ledford - 3.0-3 - Update to current head of upstream git repo for various imsm related fixes (fixes bz523262) - Fix display of metadata version in output of Detail mode - Add UUID output to --detail --export (bz523314) * Fri Jul 24 2009 Doug Ledford - 3.0-2 - Improved raid-check script as well as the ability to configure what devices get checked - Endian patch for uuid generation * Mon Jun 29 2009 Doug Ledford - 3.0-1 - Remove stale patches already accepted by upstream - Fix the raid-check script to only try and check a device if it is checkable - Update to official mdadm-3.0 version - Resolves: bz505587, bz505552 * Tue May 19 2009 Doug Ledford - 3.0-0.devel3.7 - Move the mdadm.map file from /dev/md/ to /dev/ so the installer doesn't need to precreate the /dev/md/ directory in order for incremental assembly to work * Tue May 19 2009 Doug Ledford - 3.0-0.devel3.6 - Only check raid devices automatically, do not attempt to repair them during the weekly data scrubbing * Fri Mar 20 2009 Doug Ledford - 3.0-0.devel3.5 - Fix a few issues with the new code to determine when a device gets to keep its name and when it doesn't * Fri Mar 20 2009 Doug Ledford - 3.0-0.devel3.4 - Change the perms on the udev rules file, it doesn't need to be +x * Fri Mar 20 2009 Doug Ledford - 3.0-0.devel3.3 - Slightly tweak the udev rules to make sure we don't start arrays while running in rc.sysinit...leave array starting to it instead - Modify mdadm to put its mapfile in /dev/md instead of /var/run/mdadm since at startup /var/run/mdadm is read-only by default and this breaks incremental assembly - Change how mdadm decides to assemble incremental devices using their preferred name or a random name to avoid possible conflicts when plugging a foreign array into a host * Wed Mar 18 2009 Doug Ledford - 3.0-0.devel3.2 - Change around the mdadm udev rules we ship to avoid a udev file conflict * Tue Mar 17 2009 Doug Ledford - 3.0-0.devel3.1 - Update to latest devel release - Remove the no longer necessary udev patch - Remove the no longer necessary warn patch - Remove the no longer necessary alias patch - Update the mdadm.rules file to only pay attention to device adds, not changes and to enable incremental assembly - Add a cron job to run a weekly repair of the array to correct bad sectors - Resolves: bz474436, bz490972 * Wed Feb 25 2009 Fedora Release Engineering - 3.0-0.devel2.2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Feb 19 2009 Doug Ledford - 3.0-0.devel2.2 - Readd our old mdadm rules file that does incremental assembly - Remove the new mdadm rules file from upstream as we already have this in our udev package (and the one in the udev package already has a bug fixed) * Thu Feb 12 2009 Doug Ledford - 3.0-0.devel2.1 - Update to latest upstream devel release - Use the udev rules file included with mdadm instead of our own - Drop all the no longer relevant patches - Fix a build error in mdopen.c - Fix the udev rules path in Makefile - Fix a compile issue with the __le32_to_cpu() macro usage (bad juju to to operations on the target of the macro as it could get executed multiple times, and gcc now throws an error on that) - Add some casts to some print statements to keep gcc from complaining * Fri Oct 24 2008 Doug Ledford - 2.6.7.1-1 - Updated to latest upstream stable release (#466803) - Change udev rule to not assemble degraded arrays (#453314) - Fix metadata matching in config file (#466078) - Fix assembly of raid10 devices (#444237) - Fix incremental assembly of partitioned raid devices (#447818) * Thu Jun 26 2008 Doug Ledford - 2.6.7-1 - Update to latest upstream version (should resolve #444237) - Drop incremental patch as it's now part of upstream - Clean up all the open() calls in the code (#437145) - Fix the build process to actually generate mdassemble (#446988) - Update the udev rules to get additional info about arrays being assembled from the /etc/mdadm.conf file (--scan option) (#447818) - Update the udev rules to run degraded arrays (--run option) (#452459) * Thu Apr 17 2008 Bill Nottingham - 2.6.4-4 - make /dev/md if necessary in incremental mode (#429604) - open RAID devices with O_EXCL to avoid racing against other --incremental processes (#433932) * Fri Feb 1 2008 Bill Nottingham - 2.6.4-3 - add a udev rules file for device assembly (#429604) * Fri Jan 18 2008 Doug Ledford - 2.6.4-2 - Bump version and rebuild * Fri Oct 19 2007 Doug Ledford - 2.6.4-1 - Update to latest upstream and remove patches upstream has taken * Tue Aug 28 2007 Fedora Release Engineering - 2.6.2-5 - Rebuild for selinux ppc32 issue. * Mon Jul 09 2007 Doug Ledford - 2.6.2-4 - Oops, if we call -C -e1, minor_version is no longer properly set, fix that up - Related: bz230207 * Fri Jul 06 2007 Doug Ledford - 2.6.2-3 - Oops, had to update the file leak patch, missed one thing - Minor tweak to return codes in init script and add LSB header - Resolves: bz244582, bz246980 * Mon Jul 02 2007 Doug Ledford - 2.6.2-2 - Fix a file leak issue when mdadm is in monitor mode - Update mdadm init script so that status will always run and so return codes are standards compliant - Fix assembly of version 1 superblock devices - Make the attempt to create an already running device have a clearer error message - Allow the creation of a degraded raid4 array like we allow for raid5 - Make mdadm actually pay attention to raid4 devices when in monitor mode - Make the mdmonitor script use daemon() correctly - Fix a bug where manage mode would not add disks correctly under certain conditions - Resolves: bz244582, bz242688, bz230207, bz169516, bz171862, bz171938 - Resolves: bz174642, bz224272, bz186524 * Mon Jul 02 2007 Doug Ledford - 2.6.2-1 - Update to latest upstream - Remove requirement for /usr/sbin/sendmail - it's optional and not on by default, and sendmail isn't *required* for mdadm itself to work, and isn't even required for the monitoring capability to work, just if you want to have the monitoring capability do the automatic email thing instead of run your own program (and if you use the program option of the monitor capability, your program could email you in a different manner entirely) * Mon Apr 16 2007 Doug Ledford - 2.6.1-4 - More cleanups for merge review process - Related: bz226134 * Wed Apr 11 2007 Doug Ledford - 2.6.1-3 - Various cleanups as part of merge review process - Related: bz226134 * Sat Mar 31 2007 Doug Ledford - 2.6.1-2 - Oops, missing a dependency in the Makefile * Sat Mar 31 2007 Doug Ledford - 2.6.1-1 - Update to latest upstream version - Resolves: bz233422 * Fri Jan 26 2007 Doug Ledford - 2.6-1 - Update to latest upstream version - Remove the mdmpd daemon entirely. Now that multipath tools from the lvm/dm packages handles multipath devices well, this is no longer needed. - Various cleanups in the spec file * Thu Nov 09 2006 Doug Ledford - 2.5.4-3 - Add a fix for the broken printout of array GUID when using the -E --brief flags * Fri Oct 13 2006 Doug Ledford - 2.5.4-2 - tag present on another branch and can't be forcibly moved required number bump * Fri Oct 13 2006 Doug Ledford - 2.5.4-1 - Update to 2.5.4 (listed as a bugfix update by upstream) - Remove previous bitmap patch that's now part of 2.5.4 * Sun Oct 8 2006 Doug Ledford - 2.5.3-2 - Fix a big-endian machine error in the bitmap code (Paul Clements) * Mon Aug 7 2006 Doug Ledford - 2.5.3-1 - Update to 2.5.3 which upstream calls a "bug fix" release * Wed Jul 12 2006 Jesse Keating - 2.5.2-1.1 - rebuild * Fri Jul 7 2006 Doug Ledford - 2.5.2-1 - Update to 2.5.2 - Remove auto default patch as upstream now has a preferred default auto method * Wed Mar 8 2006 Peter Jones - 2.3.1-3 - fix build on ppc64 * Wed Mar 8 2006 Jeremy Katz - 2.3.1-2 - fix build on ppc * Wed Mar 8 2006 Jeremy Katz - 2.3.1-1 - update to 2.3.1 to fix raid5 (#184284) * Fri Feb 10 2006 Jesse Keating - 2.2-1.fc5.2.1 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 2.2-1.fc5.2 - rebuilt for new gcc4.1 snapshot and glibc changes * Fri Dec 09 2005 Jesse Keating - rebuilt * Mon Dec 05 2005 Warren Togami 2.2-1 - 2.2 upgrade (#167897) - disable diet because we don't ship it anymore and we don't actually use mdassemble now * Mon May 16 2005 Doug Ledford 1.11.0-4.fc4 - Make the mdmonitor init script use the pid-file option, major cleanup of the script now possible (#134459) * Mon May 16 2005 Doug Ledford 1.11.0-3.fc4 - Put back the obsoletes: raidtools that was present in 1.11.0-1.fc4 * Mon May 16 2005 Doug Ledford 1.11.0-2.fc4 - Change the default auto= mode so it need not be on the command line to work with udev, however it is still supported on the command line (#132706) - Add a man page (from Luca Berra) for mdassemble * Wed May 11 2005 Doug Ledford - 1.11.0-1.fc4 - Upgrade to 1.11.0 * Wed Apr 27 2005 Jeremy Katz - 1.9.0-3.fc4 - fix mdmonitor initscript (#144717) * Mon Mar 21 2005 Doug Ledford 1.9.0-2 - Build mdadm.static and mdassemble (static as well) to be used in initrd images * Wed Mar 09 2005 Doug Ledford 1.9.0-1 - Initial upgrade to 1.9.0 and update of doc files - Fix an s390 build error * Mon Oct 04 2004 Doug Ledford 1.6.0-2 - Remove /etc/mdadm.conf from the file list. Anaconda will write one out if it's needed. * Fri Oct 01 2004 Doug Ledford 1.6.0-1 - Update to newer upstream version - Make mdmpd work on kernels that don't have the event interface patch * Fri Jul 30 2004 Dan Walsh 1.5.0-11 - Create a directory /var/run/mdadm to contain mdadm.pid - This cleans up SELinux problem * Tue Jun 15 2004 Elliot Lee - rebuilt * Sat May 22 2004 Doug Ledford - 1.5.0-9 - Fix Makefile and build method to satisfy bz #123769 - Add mdmpd man page, update mdmpd version to 0.3 - bz #117160 - Make sure mdadm --monitor closes all md device files so that md devices can be stopped while mdadm is still running - bz #119532 * Thu May 20 2004 Jeremy Katz - 1.5.0-8 - remove unneeded patch, can use --run instead * Wed May 19 2004 Jeremy Katz - 1.5.0-7 - add patch with reallyforce mode on creation to be used by anaconda * Wed May 12 2004 Doug Ledford 2.5.0-6 - Fix a bug in the postun scriptlet related to downgrading to a version of mdadm that doesn't include the mdmpd daemon. * Fri May 07 2004 Doug Ledford 1.5.0-5 - Disable service mdmpd by default to avoid [Failed] messages on current 2.6 kernels. Possibly re-enable it by default once the 2.6 kernels have the md event interface. * Thu Apr 22 2004 Doug Ledford 1.5.0-4 - Update mdmonitor script to start daemon more cleanly - Repackage mdmpd tarball to include gcc-3.4 changes and to make mdmpd properly daemonize at startup instead of forking and leaving the child attached to the terminal. * Thu Mar 4 2004 Bill Nottingham 1.5.0-3 - ship /var/run/mpmpd (#117497) * Thu Feb 26 2004 Doug Ledford 1.5.0-2 - Add a default MAILADDR line to the mdadm.conf file installed by default (Bugzilla #92447) - Make it build with gcc-3.4 * Mon Feb 23 2004 Doug Ledford 1.5.0-1 - Update to 1.5.0 (from Matthew J. Galgoci ) * Sun Nov 16 2003 Doug Ledford 1.4.0-1 - fix problem with recovery thread sleeping in mdmpd * Fri Nov 14 2003 Doug Ledford - sync upstream - add mdmpd package into mdadm package * Wed Sep 10 2003 Michael K. Johnson 1.3.0-1 - sync upstream * Tue Mar 11 2003 Michael K. Johnson 1.1.0-1 - sync upstream * Tue Jan 28 2003 Michael K. Johnson 1.0.1-1 - update for rebuild * Wed Dec 25 2002 Tim Powers 1.0.0-8 - fix references to %%install in the changelog so that it will build * Fri Dec 13 2002 Elliot Lee 1.0.0-7 - Rebuild * Fri Jul 12 2002 Michael K. Johnson - Changed RPM Group to System Environment/Base * Wed May 15 2002 Michael K. Johnson - minor cleanups to the text, conditionalize rm -rf - added mdmonitor init script * Fri May 10 2002 - update to 1.0.0 - Set CXFLAGS instead of CFLAGS * Sat Apr 6 2002 - change %%install to use "make install" * Fri Mar 15 2002 - beautification - made mdadm.conf non-replaceable config - renamed Copyright to License in the header - added missing license file - used macros for file paths * Fri Mar 15 2002 Luca Berra - Added Obsoletes: mdctl - missingok for configfile * Wed Mar 12 2002 NeilBrown - Add md.4 and mdadm.conf.5 man pages * Fri Mar 08 2002 Chris Siebenmann - builds properly as non-root. * Fri Mar 08 2002 Derek Vadala - updated for 0.7, fixed /usr/share/doc and added manpage * Tue Aug 07 2001 Danilo Godec - initial RPM build