]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - ChangeLog
mdadm.man: added encouragement to shrink filesystem before array.
[thirdparty/mdadm.git] / ChangeLog
index b27e2d5a5c9dabda52f4465db14ce1baaa06475f..86d24d10da8f390e08472ad6964e8a877ed9bec1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-
-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 
-       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, 
-       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
-        --run    which means the user knows what they want
-        --force  which means that we are fixing something broken
-    -   Make sure all device numbers passed as 3rd arg of ioctl
-       are passed as unsigned lock, so that it works on SPARC
-    -   If HOT_ADD_DISK failes for -a, then only try ADD_NEW_DISK
-       if we cannot read from the array, i.e. if the array is
-       not started yet.
-    -   man page update
-    -   Taught Examine to handle --scan. It examines all devices listed
-       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 
-       list them as one entry.
-    -   Added level= and disks= options to ARRAY lines in config files
-       so --brief output could be used as-is.
-    -   Make parity style ({left,right}-{,a}symmetric) consistantly use -,
-       never _.
-    -   Add "Array Size" to --detail output
-    -   Change "Size" to "Device Size" and exclude from Detail of arrays
-       that do not have a consistent device size.
-    -   Add Human readable MiB or GiB value on size lines of Detail and Examine
-    -   --assemble --scan  doesn't complain about active drives
-    -   require number of spares given in -x to be listed.
-    -   Made --build actually work.
-Changes Prior to 0.5 release
-
-  --assemble:
-     spare drives are handled properly.
-
-     --force can be used to recover from 2-drive failures on RAID5
-     If you belive that /dev/hda1 /dev/hdb1 /dev/hdc1 /dev/hdd1 should
-     make a raid5 array, but it has experienced multiple failures and
-     wont start, then
-
-       mdctl --assemble --force /dev/md0 /dev/hd[abcd]1
-
-     Should update the superblock on the newest failed drive and
-     restart the array in degraded mode.  You should then remove the
-     remaining failed drive and re-add it (if you are happy that it
-     might work).
-
-     Ofcourse whenever you have a 2-drive failure, you have a risk
-     of corruption in data that hasn't be changed for a long time.  So
-     this doesn't give you your array back all nice and happy, but it
-     does allow you to recover data that might not be corrupt.
-
-     More flexibility in identifying a RAID array in the mdctl.conf
-     e.g.
-         array /dev/md4  super-minor=4
-
-      assembles /dev/md4 from all devices found that have a raid
-      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
-      devices must exist and have raid superblock with the same uuid.
-
-      If two identity specifiers are used, only devices that match all
-      of them are considered, so
-
-        array /dev/md2 devices=/dev/hd?2 super-minor=2
-
-      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
-      working drive currently.  This is similar to the "failed-disk"
-      directive in mkraid/raidtab.
-      e.g.
-         mdctl --create --level=5 -raid-disks=4 --spare-disks=2
-                 /dev/md0 /dev/sda /dev/sdb missing /dev/sdc /dev/sdd  /dev/sde
-
-      will create a raid5 array with the third slot empty, and two
-      spares.
-
-      By default, raid5 arrays are created with the last slot empty
-      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. 
-      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.
-      The changes that it currently notices are:
-           Fail      -  an active disc fails
-           FailSpare -  a spare, that was presumably being build, fails
-           ActiveSpare - a spare becomes active, presumably after a rebuild.
-
-      Options:
-         --mail mailaddress  - send Email on any Fail* 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.
-
-      I plan to add functionality to this mode to allow sharing of
-      spare drives. If an array is marks "spare-group=fred", and it
-      has a failed drive and no spares, and if some other array is
-      also "spare-group=fred" and it has no failed drives, but does
-      have a spare drive that is big enough, the spare will be moved
-      to the first array.
-
-  I also have the idea of adding a --grow mode which will re-organise
-  the data on an N disk raid0/4/5 array to be on an N+M disk array.
-  I have no concrete plans for this though.
-
-  I got rid of the "v" in the archive file name, and include the
-  version number in the directory created by the archive.
-
-  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
-  the code to make sure the two match.
-
+Please see git logs for detailed change log.
+This file just contains highlight.
+
+Changes Prior to release 3.1.4
+  Two fixes related to configs that aren't using udev:
+   -    Don't remove md devices which 'standard' names on --stop
+   -    Allow dev_open to work on read-only /dev
+  And fixed regressions:
+   -    Allow --incremental to add spares to an array
+   -    Accept --no-degraded as a deprecated option rather than
+            throwing an error
+   -    Return correct success status when --incrmental assembling 
+        a container which does not yet have enough devices.
+   -    Don't link mdadm with pthreads, only mdmon needs it.
+   -    Fix compiler warning due to bad use of snprintf
+
+Changes Prior to release 3.1.3
+   -    mapfile now lives in a fixed location which default to
+        /dev/.mdadm/map but can be changed at compile time.  This
+       location is choses and most distros provide it during early
+       boot and preserve it through.  As long a /dev exists and is
+       writable, /dev/.mdadm will be created.
+       Other files file communication with mdmon live here too.
+       This fixes a bug reported by Debian and Gentoo users where
+       udev would spin in early-boot.
+   -    IMSM and DDF metadata will not be recognised on partitions
+        as they should only be used on whole-disks.
+   -    Various overflows causes by 2G drives have been addressed.
+   -    A subarray of an IMSM contain can now be killed with
+        --kill-subarray.  Also subarrays can be renamed with
+       --update-subarray
+   -    -If (or --incremental --fail) can be used  from udev to
+        fail and remove from all arrays a device which has been
+       unplugged from the system.  i.e. hot-unplug-support.
+   -    "mdadm /dev/mdX --re-add missing" will look for any device
+        that looks like it should be a member of /dev/mdX but isn't
+       and will automatically --re-add it
+   -    Now compile with -Wextra to get extra warnings.
+   -    Lots of minor bug fixes, documentation improvements, etcc
+
+Changes Prior to release 3.1.2
+   -    The default metadata has change again (sorry about that).
+        It is now v1.2 and will hopefully stay that way.  It turned
+        out there with boot-block issues with v1.1 which make it 
+        unsuitable for a default, though in many cases it is still
+        suitable to use.
+   -    Stopping a container is not permitted when members are still
+        active
+   -    Add 'homehost' to the valid words for the "AUTO" config file
+        line.  When followed by "-all", this causes mdadm to
+        auto-assemble any array belonging to this host, but not
+        auto-assemble anything else.
+   -    Fix some bugs with "--grow --chunksize=" for changing chunksize.
+   -    VAR_RUN can be easily changed at compile time just like ALT_RUN.
+        This gives distros more flexability in how to manage the
+        pid and sock files that mdmon needs.
+   -    Various mdmon fixes
+   -    Alway make bitmap 4K-aligned if at all possible.
+   -    If mdadm.conf lists arrays which have inter-dependencies,
+        the previously had to be listed in the "right" order.  Now
+        any order should work.
+   -    Fix --force assembly of v1.x arrays which are in the process
+        of recovering.
+   -    Add section on 'scrubbing' to 'md' man page.
+   -    Various command-line-option parsing improvements.
+   -    ... and lots of other bug fixes.
+       
+Changes Prior to release 3.1.1
+   -    Multiple fixes for new --grow levels including fixes for
+       serious data corruption problems.
+   -    Change default metadata to v1.1
+   -    Change default chunk size to 512K
+   -    Change default bitmap chunk size to 64Meg
+   -    When --re-add is used, don't fall back to
+       --add if --re-add fails as this can destroy data.
+
+Changes Prior to release 3.1
+   -    Support --grow to change the layout of RAID4/5/6
+   -    Support --grow to change the chunksize of raid 4/5/6
+   -    Support --grow to change level from RAID1 -> RAID5 -> RAID6 and
+        back.
+   -    Support --grow to reduce the number of devices in RAID4/5/6.
+   -    Support restart of these grow options which assembling an array 
+       which is partially grown.
+   -    Assorted tests of this code, and of different RAID6 layouts.
+       
+Changes Prior to release 3.0.3
+   -    Improvements for creating arrays giving just a name, like 'foo',
+       rather than the full '/dev/md/foo'.
+   -    Improvements for assembling member arrays of containers.
+   -    Improvements to test suite
+   -    Add option to change increment for RebuildNN messages reported
+       by "mdadm --monitor"
+   -    Improvements to mdmon 'hand-over' from initrd to final root.
+   -    Handle merging of devices that have left an IMSM array and are
+       being re-incorporated.
+   -    Add missing space in "--detail --brief" output.
+       
+Changes Prior to release 3.0.2
+   -    Fix crash when hosthost is not set, as often happens in
+       early boot.
+
+Changes Prior to release 3.0.1
+   -    Fix various segfaults
+   -    Fixed for --examine with containers
+   -    Lots of other little fixes.
+       
+Changes Prior to release 3.0
+   -    Support for externally managed metadata, specifically DDF and IMSM.
+   -    Depend on udev to create entries in /dev, rather than creating them
+       ourselves.
+   -    remove --auto-update-home-hosts
+   -    new config file line "auto"
+   -    new "<ignore>" and "any" options for "homehost"
+   -    numerous bug fixes and minor enhancements.