-1. Copyright ========= Copyright: (C) 2017 by Thomas Bruecker This program / these concepts are free software; you can redistribute it and/or modify it (if applicable) under the terms of the GNU L E S S E R General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program / these concepts are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU L E S S E R General Public License for more details. You should have received a copy of the GNU L E S S E R General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Brainstorming ============= 0. Introduction; 'Raid' ------------------- * . * Component medias (devices) are specified explicitely. 1. Parameters ---------- * . * + mandatory: * (active medias [devices]): * ActiveMedias[]='EF1B0E3F-3CB0-11DB-B6E3-0000C00A45A9.; * ActiveWriteMostlyMedias[J]= 'EF1B0E3F-3CB0-11DB-B6E3-0000C00A45A9. --> the media with declared by "ActiveWriteMostlyMedias[<...>]<...>" will be 'flagged as 'write-mostly' (see "man mdadm"; "--write-mostly"). * (splitting the active components of the raid in '"ActiveMedias[<...>]"-components' and '"ActiveWriteMostlyMedias[<...>]"-components', reorders eventually the components; this does not harm, because "--write-mostly" is only valid for a "raid1"; and in a "raid1" the order of the components is not [besides the source-media for resynchronization] important). * "component index" discerns the individual component medias, * "I", "J" in {0, ...}; + <= "". * ^ no "START" !!! * + optional: * RealizationOptions: takes also * "bitmap="; --> path = "UUID.d/"; * "bitmap-chunk="; M in 1024 bytes; * "write-behind=; N: 0 <= N <= 16383 "write-behind" (see "man mdadm"). * (spare medias [devices]): * numSpareComponents: (see "man mdadm"; "--spare-devices"). * SpareMedias[]='EF1B0E3F-3CB0-11DB-B6E3-0000C00A45A9.; * SpareWriteMostlyMedias[]= 'EF1B0E3F-3CB0-11DB-B6E3-0000C00A45A9. --> the media with declared by "SpareWriteMostlyMedias[<...>]<...>" will be 'flagged as' 'write-mostly' (see "man mdadm"; "--write-mostly"). (and it works: write-mostyl medias are replaced by write-mostly spare medias). * "component index" discerns the individual component medias, * "I", "J" in {0, ...}; + <= "". * TIMEOUT (in sec); when realizing the media, waits for its component medias to get ready, before issuing an error message.