]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - ChangeLog
Drop the superblock arg from all metadata methods.
[thirdparty/mdadm.git] / ChangeLog
index 76cc6eaf7a03e21e2bc22a8d7d7b2e355eb6fc04..fa4fed4551bc2aa79dd5b44ccc4b5dcddd337114 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-Changes Prior to this release
+Changes Prior to 2.6.4 release
+    -   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 Prior to 2.6.3 release
+    -   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.
+
+Changes Prior to 2.6.2 release
+    -   --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.
+
+Changes Prior to 2.6.1 release
+    -   --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.
+
+Changes Prior to 2.6 release
+    -   Fixed UUID printing in "--detail --brief" for version1 metadata.
+    -   --update=resync did exactly the wrong thing for version1 metadata.
+       It caused a resync to not happen, rather than to happen.
+    -   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.
+    -   Fix some problems with --update=uuid and add a test.
+    -   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.
+    -   Check device is large enough before hot-add: this improves quality
+       of error message.
+    -   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.
+
+Changes Prior to 2.5.6 release
+    -   Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled
+       properly.
+    -  Documentation updates.
+    -   Fix bug that caused infinite loop when doing auto-assembly,
+       in certain cases where arrays couldn't be assembled.
+
+Changes Prior to 2.5.5 release
+    -   Don't #include linux/blkpg.h as that isn't safe.  Just
+       include the content literally.
+    -   Reduce maximum bitmap usage when working with bitmap files,
+       so that a only single-page allocations are made, even on
+       64bit hosts with 4K pages.
+    -   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.
+    -   Fix a couple of bugs related to raid10 and the new 'offset' layout.
+    -   Improve error message when a wrong '--update' option is given.
+
+Changes Prior to 2.5.4 release
+    -   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.
+    -   Fix some endian-ness issues with version-1 superblocks (affects
+       bigendian only).
+    -   Fix endian problem with 'bitmap' metadata
+    -   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.
+
+Changes Prior to 2.5.3 release
+    -   Document v0.91 superblocks in md.4
+    -   Make GPL explicit in man pages.
+    -   Fix recent breakage of starting degraded arrays.
+    -   Tidyup automatic name choice for v-1 arrays:
+         /dev/md_d0 now becomes '0', not '_d0'.
+
+Changes Prior to 2.5.2 release
+    -   Fix problem with compiling with gcc-2 compilers
+    -   Fix compile problem of post-incrmenting a variable in a macro arg.
+    -   Stop map_dev from returning [0:0], as that breaks things.
+    -   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.
+    -   Don't claim newly added spares are InSync!! (don't know why that
+       code was ever in there)
+    -   Work better when no 'ftw' is available, and check to see
+       if current uclibc provides ftw.
+    -   Never use /etc/mdadm.conf if --config file is given (previously
+       some code used one, some used the other).
+
+Changes Prior to 2.5.1 release
+    -   Various fixes for gcc warnings
+    -   uclibc warnings
+    -   Makefile improvements for static linking/intalling
+    -   Makefile uninstall target
+    -   Really fix return status of --examine
+    -   Typos
+    -   Byteorder stuff (again)
+    -   Don't try to create devices with --manage or --grow
+    -   allow default metadata (superblock) type to be specified
+       in mdadm.conf
+    -   Get --stop to list devices stopped but honour --quiet
+    -   remove libssl dependency
+    -   Avoid some misdetection of overlapping partitions
+    -   Fix memory leak in --monitor mode
+
+Changes Prior to 2.5 release
+    -   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.
+
+Changes Prior to 2.4.1 release
+    -   Honour --write-mostly when adding to an array without persistent
+        superblocks.
+    -   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.
+
+Changes Prior to 2.4 release
+    -   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.
+    -   Remove useless 'ident' arguement from ->getinfo_super method.
+    -   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.
+    -   Manpage tidyup
+    -   Support 'bitmap=' in mdadm.conf for auto-assembling arrays with
+       write-intent bitmaps in separate files.
+    -   Updates to md.4 man page including section on RESTRIPING and SYSFS
+
+Changes Prior to 2.3.1 release
+    -   Fixed -O2 compile so I could make and RPM.
+    -   Type cast number to be printed %llu so it compiles on 64bit
+        machines. (Thanks Luca).
+    -   Stop using asm/byteorder.h - to make Redhat happy :-(
+    -   Require bitmap files to have a '/' in their name.
+    -   Error-check a few syscalls - code from SuSE package.
+
+Changes Prior to 2.3 release
+    -   Try /etc/mdadm/mdadm.conf if /etc/mdadm.conf doesn't exist.
+       This provided compatability for Debian.
+    -   Fixed for version-1 superblock:
+        report chunksize for raid6 and raid10
+        make sure device size used is a multiple of chunksize
+    -   Fix "--assemble --scan" crash.
+    -   Fix completely failure to create array on ppc64
+    -   Fix memcmp in place of memcpy
+    -   A few minor improvements to online help
+    -   Clean up usage of 'long long' for used-size of devices, so
+       that it is possible to create a raid1 of 7TB devices!
+    -   Make internal bitmaps work on 7TB raid1 arrays.
+    -   Provide error message if --examine doesn't find any superblock.
+    -   Report 'reshape' status in --examine - this depends on kernel
+       patches that are not yet finalised.
+    -   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.
+    -   Print size of large reiserfs array properly went warning of
+        possible confilcts.
+
+Changes Prior to 2.2 release
     -   Assorted bug fixes
     -   Support write-intent-bitmaps on raid10
     -   Support little-endian (Rather than hostendian) bitmaps.
     -   Return correct error code from 'mdadm -S'
     -   Remove extra blank line from 'mdadm -Eb' output.
+    -   Improve option parsing so that -a and -b do not have
+       optional arguements: the arg is either required or not
+       depending on context.
     -   Allow scanning of devices listed in /proc/partitions even
        if they don't appear in /dev.
+    -   Support --assume-clean in --create mode as well as --build
+    -   Add support for --monitor to report to syslog: -y or --syslog.
+       Thanks to Ross Vandegrift
+    -   --monitor now reports which device failed in a 'Fail' message
+          This broke with 2.6
+    -   Improve chance of array starting properly after a crash.
+       mdadm was insisting the event numbers were identical, but this
+       isn't needed, and is a problem if the crash was while the metadata
+       was being updated.
+    -   Support --update==uuid
+    -   Added README.initramfs and mkinitramfs to help people use an
+       initram for starting md arrays at boot.
 
 Changes Prior to 2.1 release
     -   Fix assembling of raid10 array when devices are missing.
@@ -77,10 +343,10 @@ Changes Prior to 1.9.0 release
     -   Change "dirty" status to "active" as it was confusing people.
     -   --assemble --auto recognises 'standard' name and insists on using
         the appropriate major/minor number for them.
-    -   Remove underscore from partition names, so partitions of 
+    -   Remove underscore from partition names, so partitions of
        "foo" are "foo1", "foo2" etc (unchanged) and partitions of
        "f00" are "f00p1", "f00p2" etc rather than "f00_p1"...
-    -   Use "major", "minor", "makedev" macros instead of 
+    -   Use "major", "minor", "makedev" macros instead of
        "MAJOR", "MINOR", "MKDEV" so that large device numbers work
        on 2.6 (providing you have glibc 2.3.3 or later).
     -   Add some missing closes of open file descriptors.
@@ -111,11 +377,11 @@ Changes Prior to 1.7.0 release
     -   Restore support for uclibc which was broken recently.
     -   Several improvements to the output of --detail, including
         reporting "resyncing" or "recovering" in the state.
-    -   Close filedescriptor at end of --detail (exit would have closed it 
+    -   Close filedescriptor at end of --detail (exit would have closed it
        anyway, so this isn't abig deal).
     -   Report "Sync checkpoint" in --examine output if appropriate.
     -   Add --update=resync for --assemble mode to for a resync when the
-        array is assembled.     
+        array is assembled.
     -   Add support for "raid10", which is under development in 2.6.
        Not documented yet.
     -   --monitor now reads spare-group and spares info from config file
@@ -156,7 +422,7 @@ Changes Prior to 1.5.0 release
     -   Support "--monitor --test" which will generate a test alert
        for each array once, to test notification paths.
     -   Generate RebuildFinished event when rebuild finishes.
-    -   Support for raid6 as found in 2.6.2 - thanks to  
+    -   Support for raid6 as found in 2.6.2 - thanks to
        H. Peter Anvin  <hpa@zytor.com>
     -   Support partitioned md arrays with a different major number and
        naming scheme (md_dX in /proc/mdstat, /dev/md/dXpY in /dev).
@@ -208,7 +474,7 @@ Changes Prior to 1.2.0 release
     -   Fix bug introduced when MD_SB_DISKS dependancy removed, and which
         caused spares not be assembled properly.
     -   Print appropriate message if --monitor --scan decides not to
-       monitor anything.  
+       monitor anything.
 Changes Prior to 1.1.0 release
     -   add --deamonise flag for --monitor - forks and prints pid to stdout
     -   Fix bug so we REALLY clear dirty flag with -Af
@@ -216,7 +482,7 @@ Changes Prior to 1.1.0 release
     -   "mdadm -A /dev/md0" will get info from configfile, even without scan
     -   When assembling multipath arrays, ignore devices which are flagged
         as having errors.
-    -   take --super-minor=dev  to mean "use the minor number of the mddev 
+    -   take --super-minor=dev  to mean "use the minor number of the mddev
        being assembled.
     -   take --config=none to mean "completely ignore config file"
     -   Make --monitor require --scan or a device list.
@@ -328,14 +594,14 @@ Changes Prior to 0.6 release
 
     -   Remove the limit on the number of device names that can be
        given on the command line.
-    -   Fix bug in --assemble --force where it would only update a 
+    -   Fix bug in --assemble --force where it would only update a
        single superblock.
     -   Fix bogus printing of big numbers not being block devices
        when given names of devices that don't exist.
     -   When --assemble --force, consider superblocks with an event
        count that is 1 behind as out-of-date.  Normally they are
        considered up-to-date (as the kernel assumes this too).
-    -   When marking drives as not-failed in the superblock, 
+    -   When marking drives as not-failed in the superblock,
        we also mark them as ACTIVE and SYNC.
     -   Don't start arrays for which not all drives are available unless:
         --scan   which implies that all drives were found automatically
@@ -348,11 +614,11 @@ Changes Prior to 0.6 release
        not started yet.
     -   man page update
     -   Taught Examine to handle --scan. It examines all devices listed
-       on DEVICE lines in the config file.  
+       on DEVICE lines in the config file.
     -   Added --brief (-b) flag for Examine and Detail to print out
        and mdctl.conf compatible description with uuid=, level=,
        disks= and  - for Examine - devices=
-       --examine --brief collects all devices the make the one array and 
+       --examine --brief collects all devices the make the one array and
        list them as one entry.
     -   Added level= and disks= options to ARRAY lines in config files
        so --brief output could be used as-is.
@@ -395,7 +661,7 @@ Changes Prior to 0.5 release
       superblock that says the minor number of the array is 4.
       If the blocks with the right minor number do not all have the
       same UUID, an error is flags and no assembly happens.
+
         array /dev/md3  devices=/dev/hd[abc]2
 
       Assembles /dev/md3 drom /dev/hda2 /dev/hdb2 and/dev/hdc2.  All
@@ -406,9 +672,9 @@ Changes Prior to 0.5 release
 
         array /dev/md2 devices=/dev/hd?2 super-minor=2
 
-      will assemble /dev/md2 using all /dev/hd?2 devices which have a 
+      will assemble /dev/md2 using all /dev/hd?2 devices which have a
       raid superblock with minor number 2.
+
   --create:
       When listing devices for --create, the word "missing" can be
       used to indicate that the respective slot does not have a
@@ -425,15 +691,15 @@ Changes Prior to 0.5 release
       and drive listed for the last slot added as a spare.  If a
       "missing" slot is given, or if --force is given, then --create
       does exactly what you ask and doesn't try to be clever.
-   
+
 
    --follow / --monitor:
 
       This is a new mode.  I couldn't stop my self from picking a name
       starting with F (as current modes start A,B,C,D,E) but I
       relented and provided an alternate name that is somewhat more
-      meaningful. 
+      meaningful.
+
       In this mode, mdctl does not exit, but runs continuously and
       periodically polls all the md devices to see if they have had
       any interested state change.
@@ -444,7 +710,7 @@ Changes Prior to 0.5 release
 
       Options:
          --mail mailaddress  - send Email on any Fail* event
-         --program program   - run the program on any event.  
+         --program program   - run the program on any event.
                   Args are: eventname mddevice subdevice(if-known)
          --delay  seconds    - change from the default 60second pause
                               between polls.
@@ -465,7 +731,7 @@ Changes Prior to 0.5 release
 
   There is now a man page and mdctl.spec (for rpm) thanks to
   Danilo Godec <danci@agenda.si>.
-  
+
   Ofcourse, the man page is now out of date and despite being based on
   the --help output, is not wholy correct.  After I get --follow
   working properly, I plan to revise the various documentation and/or