]>
Commit | Line | Data |
---|---|---|
6e92d480 N |
1 | Please see git logs for detailed change log. |
2 | This file just contains highlight. | |
3 | ||
6f02172d N |
4 | Changes Prior to release 3.3 |
5 | - Some array reshapes can proceed without needing backup file. | |
6 | This is done by changing the 'data_offset' so we never need to write | |
7 | any data back over where it was before. If there is no "head space" | |
8 | or "tail space" to allow data_offset to change, the old mechanism | |
9 | with a backup file can still be used. | |
10 | - RAID10 arrays can be reshaped to change the number of devices, | |
11 | change the chunk size, or change the layout between 'near' | |
12 | and 'offset'. | |
13 | This will always change data_offset, and will fail if there is no | |
14 | room for data_offset to be moved. | |
15 | - "--assemble --update=metadata" can convert a 0.90 array to a 1.0 array. | |
16 | - bad-block-logs are supported (but not heavily tested yet) | |
17 | - "--assemble --update=revert-reshape" can be used to undo a reshape | |
18 | that has just been started but isn't really wanted. This is very | |
19 | new and while it passes basic tests it cannot be guaranteed. | |
20 | - improved locking between --incremental and --assemble | |
21 | - uses systemd to run "mdmon" if systemd is configured to do that. | |
22 | - kernel names of md devices can be non-numeric. e.g. "md_home" rather than | |
23 | "md0". This will probably confuse lots of other tools, so you need to | |
24 | echo CREATE names=yes >> /etc/mdadm.conf | |
25 | or the feature will not be used. (you also need a reasonably new kernel). | |
26 | - "--stop" can be given a kernel name instead of a device name. i.e | |
27 | mdadm --stop md4 | |
28 | will work even if /dev/md4 doesn't exist. | |
29 | - "--detail --export" has some information about the devices in the array | |
30 | - --dump and --restore can be used to backup and restore the metadata on an | |
31 | array. | |
32 | - Hot-replace is supported with | |
33 | mdadm /dev/mdX --replace /dev/foo | |
34 | and | |
35 | mdadm /dev/mdX --replace /dev/foo --with /dev/bar | |
36 | - Config file can be a directory in which case all "*.conf" files are | |
37 | read in lexical order. | |
38 | Default is to read /etc/mdadm.conf and then /etc/mdadm.conf.d | |
39 | Thus | |
40 | echo CREATE name=yes > /etc/mdadm.conf.d/names.conf | |
41 | will also enable the use of named md devices. | |
42 | ||
43 | - Lots of improvements to DDF support including adding support for | |
44 | RAID10 (thanks Martin Wilck). | |
45 | ||
46 | Changes Prior to release 3.2.6 | |
47 | - There are no real stand-out fixes, just lots of little bits and pieces. | |
48 | ||
49 | Changes Prior to release 3.2.5 | |
50 | - This release primarily fixes a serious regression in 3.2.4. | |
51 | This regression does *not* cause any risk to data. It simply | |
52 | means that adding a device with "--add" would sometime fail | |
53 | when it should not. | |
54 | ||
55 | - The fix also includes a couple of minor fixes such as making | |
56 | the "--layout=preserve" option to "--grow" work again. | |
57 | ||
58 | ||
59 | Changes Prior to release 3.2.4 | |
60 | "--oneline" log of changes is below. Some notable ones are: | |
61 | ||
62 | - --offroot argument to improve interactions between mdmon and initrd | |
63 | - --prefer argument to select which /dev names to display in some | |
64 | circumstances. | |
65 | - relax restructions on when "--add" will be allowed | |
66 | - Fix bug with adding write-intent-bitmap to active array | |
67 | - Now defaults to "/run/mdadm" for storing run-time files. | |
68 | ||
69 | Changes Prior to release 3.2.3 | |
70 | - The largest single area of change is support for reshape of Intel | |
71 | IMSM arrays (OnLine Capacity Explansion and Level Migration). | |
72 | - Among other fixes, this now has a better chance of surviving if a | |
73 | device fails during reshape. | |
74 | ||
75 | Changes Prior to release 3.2.2 | |
76 | - reshaping IMSM (Intel metadata) arrays is no longer 'experimental', | |
77 | it should work properly and be largely compatible with IMSM drivers in | |
78 | other platforms. | |
79 | - --assume-clean can be used with --grow --size to avoid resyncing the | |
80 | new part of the array. This is only support with very new kernels. | |
81 | - RAID0 arrays can have chunksize which is not a power of 2. This has been | |
82 | supported in the kernel for a while but is only now supprted by | |
83 | mdadm. | |
84 | ||
85 | - A new tool 'raid6check' is available which can check a RAID6 array, | |
86 | or part of it, and report which device is most inconsistent with the | |
87 | others if any stripe is inconsistent. This is still under development | |
88 | and does not have a man page yet. If anyone tries it out and has any | |
89 | questions or experience to report, they would be most welcome on | |
90 | linux-raid@vger.kernel.org. | |
91 | ||
92 | Changes Prior to release 3.2.1 | |
93 | - policy framework | |
94 | Policy can be expressed for moving spare devices between arrays, and | |
95 | for how to handle hot-plugged devices. This policy can be different | |
96 | for devices plugged in to different controllers etc. | |
97 | This, for example, allows a configuration where when a device is plugged | |
98 | in it is immediately included in an md array as a hot spare and | |
99 | possibly starts recovery immediately if an array is degraded. | |
100 | ||
101 | - some understanding of mbr and gpt paritition tables | |
102 | This is primarly to support the new hot-plug support. If a | |
103 | device is plugged in and policy suggests it should have a partition table, | |
104 | the partition table will be copied from a suitably similar device, and | |
105 | then the partitions will hot-plug and can then be added to md arrays. | |
106 | ||
107 | - "--incremental --remove" can remember where a device was removed from | |
108 | so if a device gets plugged back in the same place, special policy applies | |
109 | to it, allowing it to be included in an array even if a general hotplug | |
110 | will not be included. | |
111 | ||
112 | - enhanced reshape options, including growing a RAID0 by converting to RAID4, | |
113 | restriping, and converting back. Also convertions between RAID0 and | |
114 | RAID10 and between RAID1 and RAID10 are possible (with a suitably recent | |
115 | kernel). | |
116 | ||
117 | - spare migration for IMSM arrays. | |
118 | Spare migration can now work across 'containers' using non-native metadata | |
119 | and specifically Intel's IMSM arrays support spare migrations. | |
120 | ||
121 | - OLCE and level migration for Intel IMSM arrays. | |
122 | OnLine Capacity Expansion and level migration (e.g. RAID0 -> RAID5) is | |
123 | supported for Intel Matrix Storage Manager arrays. | |
124 | This support is currently 'experimental' for technical reasons. It can | |
125 | be enabled with "export MDADM_EXPERIMENTAL=1" | |
126 | ||
127 | - avoid including wayward devices | |
128 | If you split a RAID1, mount the two halves as two separate degraded RAID1s, | |
129 | and then later bring the two back together, it is possible that the md | |
130 | metadata won't properly show that one must over-ride the other. | |
131 | mdadm now does extra checking to detect this possibilty and avoid | |
132 | potentially corrupting data. | |
133 | ||
134 | - remove any possible confusion between similar options. | |
135 | e.g. --brief and --bitmap were mapped to 'b' and mdadm wouldn't | |
136 | notice if one was used where the other was expected. | |
137 | ||
138 | - allow K,M,G suffixes on chunk sizes | |
139 | ||
140 | Changes Prior to release 3.2 | |
141 | - By far the most significant change in this release related to the | |
142 | management of reshaping arrays. This code has been substantially | |
143 | re-written so that it can work with 'externally managed metadata' - | |
144 | Intel's IMSM in particular. We now support level migration and | |
145 | OnLine Capacity Expansion on these arrays. | |
146 | - Policy framework. | |
147 | Various policy statements can be made in the mdadm.conf to guide | |
148 | the behaviour of mdadm, particular with regards to how new devices | |
149 | are treated by "mdadm -I". | |
150 | Depending on the 'action' associated with a device (identified by | |
151 | its 'path') such need devices can be automatically re-added to and | |
152 | existing array that they previously fell out off, or automatically | |
153 | added as a spare if they appear to contain no data. | |
154 | ||
155 | - mdadm now has a limited understanding of partition tables. This | |
156 | allows the policy framework to make decisions about partitioned | |
157 | devices as well. | |
158 | ||
159 | - --incremental --remove can be told what --path the device was on, | |
160 | and this info will be recorded so that another device appearing at | |
161 | the same physical location can be preferentially added to the same | |
162 | array (provides the spare-same-slot action policy applied to the | |
163 | path). | |
164 | ||
165 | - A new flags "--invalid-backup" flag is available in --assemble | |
166 | mode. This can be used to re-assemble an array which was stopping | |
167 | in the middle of a reshape, and for which the 'backup file' is no | |
168 | longer available or is corrupted. The array may have some | |
169 | corruption in it at the point where reshape was up to, but at least | |
170 | the rest of the array will become available. | |
171 | ||
172 | ||
173 | - Various internal restructuring - more is needed. | |
174 | ||
175 | Changes Prior to release 3.1.5 | |
176 | - Fixes for v1.x metadata on big-endian machines. | |
177 | - man page improvements | |
178 | - Improve '--detail --export' when run on partitions of an md array. | |
179 | - Fix regression with removing 'failed' or 'detached' devices. | |
180 | - Fixes for "--assemble --force" in various unusual cases. | |
181 | - Allow '-Y' to mean --export. This was documented but not implemented. | |
182 | - Various fixed for handling 'ddf' metadata. This is now more reliable | |
183 | but could benefit from more interoperability testing. | |
184 | - Correctly list subarrays of a container in "--detail" output. | |
185 | - Improve checks on whether the requested number of devices is supported | |
186 | by the metadata - both for --create and --grow. | |
187 | - Don't remove partitions from a device that is being included in an | |
188 | array until we are fully committed to including it. | |
189 | - Allow "--assemble --update=no-bitmap" so an array with a corrupt | |
190 | bitmap can still be assembled. | |
191 | - Don't allow --add to succeed if it looks like a "--re-add" is probably | |
192 | wanted, but cannot succeed. This avoids inadvertently turning | |
193 | devices into spares when an array is failed. | |
194 | ||
972ee725 N |
195 | Changes Prior to release 3.1.4 |
196 | Two fixes related to configs that aren't using udev: | |
197 | - Don't remove md devices which 'standard' names on --stop | |
198 | - Allow dev_open to work on read-only /dev | |
199 | And fixed regressions: | |
200 | - Allow --incremental to add spares to an array | |
201 | - Accept --no-degraded as a deprecated option rather than | |
202 | throwing an error | |
6f02172d | 203 | - Return correct success status when --incrmental assembling |
972ee725 N |
204 | a container which does not yet have enough devices. |
205 | - Don't link mdadm with pthreads, only mdmon needs it. | |
206 | - Fix compiler warning due to bad use of snprintf | |
207 | ||
850a3178 N |
208 | Changes Prior to release 3.1.3 |
209 | - mapfile now lives in a fixed location which default to | |
210 | /dev/.mdadm/map but can be changed at compile time. This | |
211 | location is choses and most distros provide it during early | |
212 | boot and preserve it through. As long a /dev exists and is | |
213 | writable, /dev/.mdadm will be created. | |
214 | Other files file communication with mdmon live here too. | |
215 | This fixes a bug reported by Debian and Gentoo users where | |
216 | udev would spin in early-boot. | |
217 | - IMSM and DDF metadata will not be recognised on partitions | |
218 | as they should only be used on whole-disks. | |
219 | - Various overflows causes by 2G drives have been addressed. | |
220 | - A subarray of an IMSM contain can now be killed with | |
221 | --kill-subarray. Also subarrays can be renamed with | |
222 | --update-subarray | |
223 | - -If (or --incremental --fail) can be used from udev to | |
224 | fail and remove from all arrays a device which has been | |
225 | unplugged from the system. i.e. hot-unplug-support. | |
226 | - "mdadm /dev/mdX --re-add missing" will look for any device | |
227 | that looks like it should be a member of /dev/mdX but isn't | |
228 | and will automatically --re-add it | |
229 | - Now compile with -Wextra to get extra warnings. | |
230 | - Lots of minor bug fixes, documentation improvements, etcc | |
231 | ||
232 | Changes Prior to release 3.1.2 | |
233 | - The default metadata has change again (sorry about that). | |
234 | It is now v1.2 and will hopefully stay that way. It turned | |
6f02172d | 235 | out there with boot-block issues with v1.1 which make it |
850a3178 N |
236 | unsuitable for a default, though in many cases it is still |
237 | suitable to use. | |
238 | - Stopping a container is not permitted when members are still | |
239 | active | |
240 | - Add 'homehost' to the valid words for the "AUTO" config file | |
241 | line. When followed by "-all", this causes mdadm to | |
242 | auto-assemble any array belonging to this host, but not | |
243 | auto-assemble anything else. | |
244 | - Fix some bugs with "--grow --chunksize=" for changing chunksize. | |
245 | - VAR_RUN can be easily changed at compile time just like ALT_RUN. | |
246 | This gives distros more flexability in how to manage the | |
247 | pid and sock files that mdmon needs. | |
248 | - Various mdmon fixes | |
249 | - Alway make bitmap 4K-aligned if at all possible. | |
250 | - If mdadm.conf lists arrays which have inter-dependencies, | |
251 | the previously had to be listed in the "right" order. Now | |
252 | any order should work. | |
253 | - Fix --force assembly of v1.x arrays which are in the process | |
254 | of recovering. | |
255 | - Add section on 'scrubbing' to 'md' man page. | |
256 | - Various command-line-option parsing improvements. | |
257 | - ... and lots of other bug fixes. | |
6f02172d | 258 | |
40bc78f5 N |
259 | Changes Prior to release 3.1.1 |
260 | - Multiple fixes for new --grow levels including fixes for | |
261 | serious data corruption problems. | |
262 | - Change default metadata to v1.1 | |
263 | - Change default chunk size to 512K | |
264 | - Change default bitmap chunk size to 64Meg | |
265 | - When --re-add is used, don't fall back to | |
266 | --add if --re-add fails as this can destroy data. | |
267 | ||
7f0066ba N |
268 | Changes Prior to release 3.1 |
269 | - Support --grow to change the layout of RAID4/5/6 | |
270 | - Support --grow to change the chunksize of raid 4/5/6 | |
271 | - Support --grow to change level from RAID1 -> RAID5 -> RAID6 and | |
272 | back. | |
273 | - Support --grow to reduce the number of devices in RAID4/5/6. | |
6f02172d | 274 | - Support restart of these grow options which assembling an array |
7f0066ba N |
275 | which is partially grown. |
276 | - Assorted tests of this code, and of different RAID6 layouts. | |
6f02172d | 277 | |
d28c1a73 N |
278 | Changes Prior to release 3.0.3 |
279 | - Improvements for creating arrays giving just a name, like 'foo', | |
280 | rather than the full '/dev/md/foo'. | |
281 | - Improvements for assembling member arrays of containers. | |
282 | - Improvements to test suite | |
283 | - Add option to change increment for RebuildNN messages reported | |
284 | by "mdadm --monitor" | |
285 | - Improvements to mdmon 'hand-over' from initrd to final root. | |
286 | - Handle merging of devices that have left an IMSM array and are | |
287 | being re-incorporated. | |
288 | - Add missing space in "--detail --brief" output. | |
6f02172d | 289 | |
58ad57f6 N |
290 | Changes Prior to release 3.0.2 |
291 | - Fix crash when hosthost is not set, as often happens in | |
292 | early boot. | |
293 | ||
d8419fe9 N |
294 | Changes Prior to release 3.0.1 |
295 | - Fix various segfaults | |
296 | - Fixed for --examine with containers | |
297 | - Lots of other little fixes. | |
6f02172d | 298 | |
d8419fe9 | 299 | Changes Prior to release 3.0 |
6e92d480 N |
300 | - Support for externally managed metadata, specifically DDF and IMSM. |
301 | - Depend on udev to create entries in /dev, rather than creating them | |
302 | ourselves. | |
303 | - remove --auto-update-home-hosts | |
304 | - new config file line "auto" | |
305 | - new "<ignore>" and "any" options for "homehost" | |
306 | - numerous bug fixes and minor enhancements. |