~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/md.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/md.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/md.rst (Version linux-5.6.19)


  1 RAID arrays                                         1 RAID arrays
  2 ===========                                         2 ===========
  3                                                     3 
  4 Boot time assembly of RAID arrays                   4 Boot time assembly of RAID arrays
  5 ---------------------------------                   5 ---------------------------------
  6                                                     6 
  7 Tools that manage md devices can be found at        7 Tools that manage md devices can be found at
  8    https://www.kernel.org/pub/linux/utils/raid !!   8    http://www.kernel.org/pub/linux/utils/raid/
  9                                                     9 
 10                                                    10 
 11 You can boot with your md device with the foll     11 You can boot with your md device with the following kernel command
 12 lines:                                             12 lines:
 13                                                    13 
 14 for old raid arrays without persistent superbl     14 for old raid arrays without persistent superblocks::
 15                                                    15 
 16   md=<md device no.>,<raid level>,<chunk size      16   md=<md device no.>,<raid level>,<chunk size factor>,<fault level>,dev0,dev1,...,devn
 17                                                    17 
 18 for raid arrays with persistent superblocks::      18 for raid arrays with persistent superblocks::
 19                                                    19 
 20   md=<md device no.>,dev0,dev1,...,devn            20   md=<md device no.>,dev0,dev1,...,devn
 21                                                    21 
 22 or, to assemble a partitionable array::            22 or, to assemble a partitionable array::
 23                                                    23 
 24   md=d<md device no.>,dev0,dev1,...,devn           24   md=d<md device no.>,dev0,dev1,...,devn
 25                                                    25 
 26 ``md device no.``                                  26 ``md device no.``
 27 +++++++++++++++++                                  27 +++++++++++++++++
 28                                                    28 
 29 The number of the md device                        29 The number of the md device
 30                                                    30 
 31 ================= =========                        31 ================= =========
 32 ``md device no.`` device                           32 ``md device no.`` device
 33 ================= =========                        33 ================= =========
 34               0         md0                        34               0         md0
 35               1         md1                        35               1         md1
 36               2         md2                        36               2         md2
 37               3         md3                        37               3         md3
 38               4         md4                        38               4         md4
 39 ================= =========                        39 ================= =========
 40                                                    40 
 41 ``raid level``                                     41 ``raid level``
 42 ++++++++++++++                                     42 ++++++++++++++
 43                                                    43 
 44 level of the RAID array                            44 level of the RAID array
 45                                                    45 
 46 =============== =============                      46 =============== =============
 47 ``raid level``  level                              47 ``raid level``  level
 48 =============== =============                      48 =============== =============
 49 -1              linear mode                        49 -1              linear mode
 50 0               striped mode                       50 0               striped mode
 51 =============== =============                      51 =============== =============
 52                                                    52 
 53 other modes are only supported with persistent     53 other modes are only supported with persistent super blocks
 54                                                    54 
 55 ``chunk size factor``                              55 ``chunk size factor``
 56 +++++++++++++++++++++                              56 +++++++++++++++++++++
 57                                                    57 
 58 (raid-0 and raid-1 only)                           58 (raid-0 and raid-1 only)
 59                                                    59 
 60 Set  the chunk size as 4k << n.                    60 Set  the chunk size as 4k << n.
 61                                                    61 
 62 ``fault level``                                    62 ``fault level``
 63 +++++++++++++++                                    63 +++++++++++++++
 64                                                    64 
 65 Totally ignored                                    65 Totally ignored
 66                                                    66 
 67 ``dev0`` to ``devn``                               67 ``dev0`` to ``devn``
 68 ++++++++++++++++++++                               68 ++++++++++++++++++++
 69                                                    69 
 70 e.g. ``/dev/hda1``, ``/dev/hdc1``, ``/dev/sda1     70 e.g. ``/dev/hda1``, ``/dev/hdc1``, ``/dev/sda1``, ``/dev/sdb1``
 71                                                    71 
 72 A possible loadlin line (Harald Hoyer <HarryH@R     72 A possible loadlin line (Harald Hoyer <HarryH@Royal.Net>)  looks like this::
 73                                                    73 
 74         e:\loadlin\loadlin e:\zimage root=/dev     74         e:\loadlin\loadlin e:\zimage root=/dev/md0 md=0,0,4,0,/dev/hdb2,/dev/hdc3 ro
 75                                                    75 
 76                                                    76 
 77 Boot time autodetection of RAID arrays             77 Boot time autodetection of RAID arrays
 78 --------------------------------------             78 --------------------------------------
 79                                                    79 
 80 When md is compiled into the kernel (not as mo     80 When md is compiled into the kernel (not as module), partitions of
 81 type 0xfd are scanned and automatically assemb     81 type 0xfd are scanned and automatically assembled into RAID arrays.
 82 This autodetection may be suppressed with the      82 This autodetection may be suppressed with the kernel parameter
 83 ``raid=noautodetect``.  As of kernel 2.6.9, on     83 ``raid=noautodetect``.  As of kernel 2.6.9, only drives with a type 0
 84 superblock can be autodetected and run at boot     84 superblock can be autodetected and run at boot time.
 85                                                    85 
 86 The kernel parameter ``raid=partitionable`` (o     86 The kernel parameter ``raid=partitionable`` (or ``raid=part``) means
 87 that all auto-detected arrays are assembled as     87 that all auto-detected arrays are assembled as partitionable.
 88                                                    88 
 89 Boot time assembly of degraded/dirty arrays        89 Boot time assembly of degraded/dirty arrays
 90 -------------------------------------------        90 -------------------------------------------
 91                                                    91 
 92 If a raid5 or raid6 array is both dirty and de     92 If a raid5 or raid6 array is both dirty and degraded, it could have
 93 undetectable data corruption.  This is because     93 undetectable data corruption.  This is because the fact that it is
 94 ``dirty`` means that the parity cannot be trus     94 ``dirty`` means that the parity cannot be trusted, and the fact that it
 95 is degraded means that some datablocks are mis     95 is degraded means that some datablocks are missing and cannot reliably
 96 be reconstructed (due to no parity).               96 be reconstructed (due to no parity).
 97                                                    97 
 98 For this reason, md will normally refuse to st     98 For this reason, md will normally refuse to start such an array.  This
 99 requires the sysadmin to take action to explic     99 requires the sysadmin to take action to explicitly start the array
100 despite possible corruption.  This is normally    100 despite possible corruption.  This is normally done with::
101                                                   101 
102    mdadm --assemble --force ....                  102    mdadm --assemble --force ....
103                                                   103 
104 This option is not really available if the arr    104 This option is not really available if the array has the root
105 filesystem on it.  In order to support this bo    105 filesystem on it.  In order to support this booting from such an
106 array, md supports a module parameter ``start_    106 array, md supports a module parameter ``start_dirty_degraded`` which,
107 when set to 1, bypassed the checks and will al    107 when set to 1, bypassed the checks and will allows dirty degraded
108 arrays to be started.                             108 arrays to be started.
109                                                   109 
110 So, to boot with a root filesystem of a dirty     110 So, to boot with a root filesystem of a dirty degraded raid 5 or 6, use::
111                                                   111 
112    md-mod.start_dirty_degraded=1                  112    md-mod.start_dirty_degraded=1
113                                                   113 
114                                                   114 
115 Superblock formats                                115 Superblock formats
116 ------------------                                116 ------------------
117                                                   117 
118 The md driver can support a variety of differe    118 The md driver can support a variety of different superblock formats.
119 Currently, it supports superblock formats ``0.    119 Currently, it supports superblock formats ``0.90.0`` and the ``md-1`` format
120 introduced in the 2.5 development series.         120 introduced in the 2.5 development series.
121                                                   121 
122 The kernel will autodetect which format superb    122 The kernel will autodetect which format superblock is being used.
123                                                   123 
124 Superblock format ``0`` is treated differently    124 Superblock format ``0`` is treated differently to others for legacy
125 reasons - it is the original superblock format    125 reasons - it is the original superblock format.
126                                                   126 
127                                                   127 
128 General Rules - apply for all superblock forma    128 General Rules - apply for all superblock formats
129 ----------------------------------------------    129 ------------------------------------------------
130                                                   130 
131 An array is ``created`` by writing appropriate    131 An array is ``created`` by writing appropriate superblocks to all
132 devices.                                          132 devices.
133                                                   133 
134 It is ``assembled`` by associating each of the    134 It is ``assembled`` by associating each of these devices with an
135 particular md virtual device.  Once it is comp    135 particular md virtual device.  Once it is completely assembled, it can
136 be accessed.                                      136 be accessed.
137                                                   137 
138 An array should be created by a user-space too    138 An array should be created by a user-space tool.  This will write
139 superblocks to all devices.  It will usually m    139 superblocks to all devices.  It will usually mark the array as
140 ``unclean``, or with some devices missing so t    140 ``unclean``, or with some devices missing so that the kernel md driver
141 can create appropriate redundancy (copying in     141 can create appropriate redundancy (copying in raid 1, parity
142 calculation in raid 4/5).                         142 calculation in raid 4/5).
143                                                   143 
144 When an array is assembled, it is first initia    144 When an array is assembled, it is first initialized with the
145 SET_ARRAY_INFO ioctl.  This contains, in parti    145 SET_ARRAY_INFO ioctl.  This contains, in particular, a major and minor
146 version number.  The major version number sele    146 version number.  The major version number selects which superblock
147 format is to be used.  The minor number might     147 format is to be used.  The minor number might be used to tune handling
148 of the format, such as suggesting where on eac    148 of the format, such as suggesting where on each device to look for the
149 superblock.                                       149 superblock.
150                                                   150 
151 Then each device is added using the ADD_NEW_DI    151 Then each device is added using the ADD_NEW_DISK ioctl.  This
152 provides, in particular, a major and minor num    152 provides, in particular, a major and minor number identifying the
153 device to add.                                    153 device to add.
154                                                   154 
155 The array is started with the RUN_ARRAY ioctl.    155 The array is started with the RUN_ARRAY ioctl.
156                                                   156 
157 Once started, new devices can be added.  They     157 Once started, new devices can be added.  They should have an
158 appropriate superblock written to them, and th    158 appropriate superblock written to them, and then be passed in with
159 ADD_NEW_DISK.                                     159 ADD_NEW_DISK.
160                                                   160 
161 Devices that have failed or are not yet active    161 Devices that have failed or are not yet active can be detached from an
162 array using HOT_REMOVE_DISK.                      162 array using HOT_REMOVE_DISK.
163                                                   163 
164                                                   164 
165 Specific Rules that apply to format-0 super bl    165 Specific Rules that apply to format-0 super block arrays, and arrays with no superblock (non-persistent)
166 ----------------------------------------------    166 --------------------------------------------------------------------------------------------------------
167                                                   167 
168 An array can be ``created`` by describing the     168 An array can be ``created`` by describing the array (level, chunksize
169 etc) in a SET_ARRAY_INFO ioctl.  This must hav    169 etc) in a SET_ARRAY_INFO ioctl.  This must have ``major_version==0`` and
170 ``raid_disks != 0``.                              170 ``raid_disks != 0``.
171                                                   171 
172 Then uninitialized devices can be added with A    172 Then uninitialized devices can be added with ADD_NEW_DISK.  The
173 structure passed to ADD_NEW_DISK must specify     173 structure passed to ADD_NEW_DISK must specify the state of the device
174 and its role in the array.                        174 and its role in the array.
175                                                   175 
176 Once started with RUN_ARRAY, uninitialized spa    176 Once started with RUN_ARRAY, uninitialized spares can be added with
177 HOT_ADD_DISK.                                     177 HOT_ADD_DISK.
178                                                   178 
179                                                   179 
180 MD devices in sysfs                               180 MD devices in sysfs
181 -------------------                               181 -------------------
182                                                   182 
183 md devices appear in sysfs (``/sys``) as regul    183 md devices appear in sysfs (``/sys``) as regular block devices,
184 e.g.::                                            184 e.g.::
185                                                   185 
186    /sys/block/md0                                 186    /sys/block/md0
187                                                   187 
188 Each ``md`` device will contain a subdirectory    188 Each ``md`` device will contain a subdirectory called ``md`` which
189 contains further md-specific information about    189 contains further md-specific information about the device.
190                                                   190 
191 All md devices contain:                           191 All md devices contain:
192                                                   192 
193   level                                           193   level
194      a text file indicating the ``raid level``    194      a text file indicating the ``raid level``. e.g. raid0, raid1,
195      raid5, linear, multipath, faulty.            195      raid5, linear, multipath, faulty.
196      If no raid level has been set yet (array     196      If no raid level has been set yet (array is still being
197      assembled), the value will reflect whatev    197      assembled), the value will reflect whatever has been written
198      to it, which may be a name like the above    198      to it, which may be a name like the above, or may be a number
199      such as ``0``, ``5``, etc.                   199      such as ``0``, ``5``, etc.
200                                                   200 
201   raid_disks                                      201   raid_disks
202      a text file with a simple number indicati    202      a text file with a simple number indicating the number of devices
203      in a fully functional array.  If this is     203      in a fully functional array.  If this is not yet known, the file
204      will be empty.  If an array is being resi    204      will be empty.  If an array is being resized this will contain
205      the new number of devices.                   205      the new number of devices.
206      Some raid levels allow this value to be s    206      Some raid levels allow this value to be set while the array is
207      active.  This will reconfigure the array.    207      active.  This will reconfigure the array.   Otherwise it can only
208      be set while assembling an array.            208      be set while assembling an array.
209      A change to this attribute will not be pe    209      A change to this attribute will not be permitted if it would
210      reduce the size of the array.  To reduce     210      reduce the size of the array.  To reduce the number of drives
211      in an e.g. raid5, the array size must fir    211      in an e.g. raid5, the array size must first be reduced by
212      setting the ``array_size`` attribute.        212      setting the ``array_size`` attribute.
213                                                   213 
214   chunk_size                                      214   chunk_size
215      This is the size in bytes for ``chunks``     215      This is the size in bytes for ``chunks`` and is only relevant to
216      raid levels that involve striping (0,4,5,    216      raid levels that involve striping (0,4,5,6,10). The address space
217      of the array is conceptually divided into    217      of the array is conceptually divided into chunks and consecutive
218      chunks are striped onto neighbouring devi    218      chunks are striped onto neighbouring devices.
219      The size should be at least PAGE_SIZE (4k    219      The size should be at least PAGE_SIZE (4k) and should be a power
220      of 2.  This can only be set while assembl    220      of 2.  This can only be set while assembling an array
221                                                   221 
222   layout                                          222   layout
223      The ``layout`` for the array for the part    223      The ``layout`` for the array for the particular level.  This is
224      simply a number that is interpreted diffe !! 224      simply a number that is interpretted differently by different
225      levels.  It can be written while assembli    225      levels.  It can be written while assembling an array.
226                                                   226 
227   array_size                                      227   array_size
228      This can be used to artificially constrai    228      This can be used to artificially constrain the available space in
229      the array to be less than is actually ava    229      the array to be less than is actually available on the combined
230      devices.  Writing a number (in Kilobytes)    230      devices.  Writing a number (in Kilobytes) which is less than
231      the available size will set the size.  An    231      the available size will set the size.  Any reconfiguration of the
232      array (e.g. adding devices) will not caus    232      array (e.g. adding devices) will not cause the size to change.
233      Writing the word ``default`` will cause t    233      Writing the word ``default`` will cause the effective size of the
234      array to be whatever size is actually ava    234      array to be whatever size is actually available based on
235      ``level``, ``chunk_size`` and ``component    235      ``level``, ``chunk_size`` and ``component_size``.
236                                                   236 
237      This can be used to reduce the size of th    237      This can be used to reduce the size of the array before reducing
238      the number of devices in a raid4/5/6, or     238      the number of devices in a raid4/5/6, or to support external
239      metadata formats which mandate such clipp    239      metadata formats which mandate such clipping.
240                                                   240 
241   reshape_position                                241   reshape_position
242      This is either ``none`` or a sector numbe    242      This is either ``none`` or a sector number within the devices of
243      the array where ``reshape`` is up to.  If    243      the array where ``reshape`` is up to.  If this is set, the three
244      attributes mentioned above (raid_disks, c    244      attributes mentioned above (raid_disks, chunk_size, layout) can
245      potentially have 2 values, an old and a n    245      potentially have 2 values, an old and a new value.  If these
246      values differ, reading the attribute retu    246      values differ, reading the attribute returns::
247                                                   247 
248         new (old)                                 248         new (old)
249                                                   249 
250      and writing will effect the ``new`` value    250      and writing will effect the ``new`` value, leaving the ``old``
251      unchanged.                                   251      unchanged.
252                                                   252 
253   component_size                                  253   component_size
254      For arrays with data redundancy (i.e. not    254      For arrays with data redundancy (i.e. not raid0, linear, faulty,
255      multipath), all components must be the sa    255      multipath), all components must be the same size - or at least
256      there must a size that they all provide s    256      there must a size that they all provide space for.  This is a key
257      part or the geometry of the array.  It is    257      part or the geometry of the array.  It is measured in sectors
258      and can be read from here.  Writing to th    258      and can be read from here.  Writing to this value may resize
259      the array if the personality supports it     259      the array if the personality supports it (raid1, raid5, raid6),
260      and if the component drives are large eno    260      and if the component drives are large enough.
261                                                   261 
262   metadata_version                                262   metadata_version
263      This indicates the format that is being u    263      This indicates the format that is being used to record metadata
264      about the array.  It can be 0.90 (traditi    264      about the array.  It can be 0.90 (traditional format), 1.0, 1.1,
265      1.2 (newer format in varying locations) o    265      1.2 (newer format in varying locations) or ``none`` indicating that
266      the kernel isn't managing metadata at all    266      the kernel isn't managing metadata at all.
267      Alternately it can be ``external:`` follo    267      Alternately it can be ``external:`` followed by a string which
268      is set by user-space.  This indicates tha    268      is set by user-space.  This indicates that metadata is managed
269      by a user-space program.  Any device fail    269      by a user-space program.  Any device failure or other event that
270      requires a metadata update will cause arr    270      requires a metadata update will cause array activity to be
271      suspended until the event is acknowledged    271      suspended until the event is acknowledged.
272                                                   272 
273   resync_start                                    273   resync_start
274      The point at which resync should start.      274      The point at which resync should start.  If no resync is needed,
275      this will be a very large number (or ``no    275      this will be a very large number (or ``none`` since 2.6.30-rc1).  At
276      array creation it will default to 0, thou    276      array creation it will default to 0, though starting the array as
277      ``clean`` will set it much larger.           277      ``clean`` will set it much larger.
278                                                   278 
279   new_dev                                         279   new_dev
280      This file can be written but not read.  T    280      This file can be written but not read.  The value written should
281      be a block device number as major:minor.     281      be a block device number as major:minor.  e.g. 8:0
282      This will cause that device to be attache    282      This will cause that device to be attached to the array, if it is
283      available.  It will then appear at md/dev    283      available.  It will then appear at md/dev-XXX (depending on the
284      name of the device) and further configura    284      name of the device) and further configuration is then possible.
285                                                   285 
286   safe_mode_delay                                 286   safe_mode_delay
287      When an md array has seen no write reques    287      When an md array has seen no write requests for a certain period
288      of time, it will be marked as ``clean``.     288      of time, it will be marked as ``clean``.  When another write
289      request arrives, the array is marked as `    289      request arrives, the array is marked as ``dirty`` before the write
290      commences.  This is known as ``safe_mode`    290      commences.  This is known as ``safe_mode``.
291      The ``certain period`` is controlled by t    291      The ``certain period`` is controlled by this file which stores the
292      period as a number of seconds.  The defau    292      period as a number of seconds.  The default is 200msec (0.200).
293      Writing a value of 0 disables safemode.      293      Writing a value of 0 disables safemode.
294                                                   294 
295   array_state                                     295   array_state
296      This file contains a single word which de    296      This file contains a single word which describes the current
297      state of the array.  In many cases, the s    297      state of the array.  In many cases, the state can be set by
298      writing the word for the desired state, h    298      writing the word for the desired state, however some states
299      cannot be explicitly set, and some transi    299      cannot be explicitly set, and some transitions are not allowed.
300                                                   300 
301      Select/poll works on this file.  All chan    301      Select/poll works on this file.  All changes except between
302      Active_idle and active (which can be freq    302      Active_idle and active (which can be frequent and are not
303      very interesting) are notified.  active->    303      very interesting) are notified.  active->active_idle is
304      reported if the metadata is externally ma    304      reported if the metadata is externally managed.
305                                                   305 
306      clear                                        306      clear
307          No devices, no size, no level            307          No devices, no size, no level
308                                                   308 
309          Writing is equivalent to STOP_ARRAY i    309          Writing is equivalent to STOP_ARRAY ioctl
310                                                   310 
311      inactive                                     311      inactive
312          May have some settings, but array is     312          May have some settings, but array is not active
313          all IO results in error                  313          all IO results in error
314                                                   314 
315          When written, doesn't tear down array    315          When written, doesn't tear down array, but just stops it
316                                                   316 
317      suspended (not supported yet)                317      suspended (not supported yet)
318          All IO requests will block. The array    318          All IO requests will block. The array can be reconfigured.
319                                                   319 
320          Writing this, if accepted, will block !! 320          Writing this, if accepted, will block until array is quiessent
321                                                   321 
322      readonly                                     322      readonly
323          no resync can happen.  no superblocks    323          no resync can happen.  no superblocks get written.
324                                                   324 
325          Write requests fail                      325          Write requests fail
326                                                   326 
327      read-auto                                    327      read-auto
328          like readonly, but behaves like ``cle    328          like readonly, but behaves like ``clean`` on a write request.
329                                                   329 
330      clean                                        330      clean
331          no pending writes, but otherwise acti    331          no pending writes, but otherwise active.
332                                                   332 
333          When written to inactive array, start    333          When written to inactive array, starts without resync
334                                                   334 
335          If a write request arrives then          335          If a write request arrives then
336          if metadata is known, mark ``dirty``     336          if metadata is known, mark ``dirty`` and switch to ``active``.
337          if not known, block and switch to wri    337          if not known, block and switch to write-pending
338                                                   338 
339          If written to an active array that ha    339          If written to an active array that has pending writes, then fails.
340      active                                       340      active
341          fully active: IO and resync can be ha    341          fully active: IO and resync can be happening.
342          When written to inactive array, start    342          When written to inactive array, starts with resync
343                                                   343 
344      write-pending                                344      write-pending
345          clean, but writes are blocked waiting    345          clean, but writes are blocked waiting for ``active`` to be written.
346                                                   346 
347      active-idle                                  347      active-idle
348          like active, but no writes have been     348          like active, but no writes have been seen for a while (safe_mode_delay).
349                                                   349 
350   bitmap/location                                 350   bitmap/location
351      This indicates where the write-intent bit    351      This indicates where the write-intent bitmap for the array is
352      stored.                                      352      stored.
353                                                   353 
354      It can be one of ``none``, ``file`` or ``    354      It can be one of ``none``, ``file`` or ``[+-]N``.
355      ``file`` may later be extended to ``file:    355      ``file`` may later be extended to ``file:/file/name``
356      ``[+-]N`` means that many sectors from th    356      ``[+-]N`` means that many sectors from the start of the metadata.
357                                                   357 
358      This is replicated on all devices.  For a    358      This is replicated on all devices.  For arrays with externally
359      managed metadata, the offset is from the     359      managed metadata, the offset is from the beginning of the
360      device.                                      360      device.
361                                                   361 
362   bitmap/chunksize                                362   bitmap/chunksize
363      The size, in bytes, of the chunk which wi    363      The size, in bytes, of the chunk which will be represented by a
364      single bit.  For RAID456, it is a portion    364      single bit.  For RAID456, it is a portion of an individual
365      device. For RAID10, it is a portion of th    365      device. For RAID10, it is a portion of the array.  For RAID1, it
366      is both (they come to the same thing).       366      is both (they come to the same thing).
367                                                   367 
368   bitmap/time_base                                368   bitmap/time_base
369      The time, in seconds, between looking for    369      The time, in seconds, between looking for bits in the bitmap to
370      be cleared. In the current implementation    370      be cleared. In the current implementation, a bit will be cleared
371      between 2 and 3 times ``time_base`` after    371      between 2 and 3 times ``time_base`` after all the covered blocks
372      are known to be in-sync.                     372      are known to be in-sync.
373                                                   373 
374   bitmap/backlog                                  374   bitmap/backlog
375      When write-mostly devices are active in a    375      When write-mostly devices are active in a RAID1, write requests
376      to those devices proceed in the backgroun    376      to those devices proceed in the background - the filesystem (or
377      other user of the device) does not have t    377      other user of the device) does not have to wait for them.
378      ``backlog`` sets a limit on the number of    378      ``backlog`` sets a limit on the number of concurrent background
379      writes.  If there are more than this, new    379      writes.  If there are more than this, new writes will by
380      synchronous.                                 380      synchronous.
381                                                   381 
382   bitmap/metadata                                 382   bitmap/metadata
383      This can be either ``internal`` or ``exte    383      This can be either ``internal`` or ``external``.
384                                                   384 
385      ``internal``                                 385      ``internal``
386        is the default and means the metadata f    386        is the default and means the metadata for the bitmap
387        is stored in the first 256 bytes of the    387        is stored in the first 256 bytes of the allocated space and is
388        managed by the md module.                  388        managed by the md module.
389                                                   389 
390      ``external``                                 390      ``external``
391        means that bitmap metadata is managed e    391        means that bitmap metadata is managed externally to
392        the kernel (i.e. by some userspace prog    392        the kernel (i.e. by some userspace program)
393                                                   393 
394   bitmap/can_clear                                394   bitmap/can_clear
395      This is either ``true`` or ``false``.  If    395      This is either ``true`` or ``false``.  If ``true``, then bits in the
396      bitmap will be cleared when the correspon    396      bitmap will be cleared when the corresponding blocks are thought
397      to be in-sync.  If ``false``, bits will n    397      to be in-sync.  If ``false``, bits will never be cleared.
398      This is automatically set to ``false`` if    398      This is automatically set to ``false`` if a write happens on a
399      degraded array, or if the array becomes d    399      degraded array, or if the array becomes degraded during a write.
400      When metadata is managed externally, it s    400      When metadata is managed externally, it should be set to true
401      once the array becomes non-degraded, and     401      once the array becomes non-degraded, and this fact has been
402      recorded in the metadata.                    402      recorded in the metadata.
403                                                   403 
404   consistency_policy                              404   consistency_policy
405      This indicates how the array maintains co    405      This indicates how the array maintains consistency in case of unexpected
406      shutdown. It can be:                         406      shutdown. It can be:
407                                                   407 
408      none                                         408      none
409        Array has no redundancy information, e.    409        Array has no redundancy information, e.g. raid0, linear.
410                                                   410 
411      resync                                       411      resync
412        Full resync is performed and all redund    412        Full resync is performed and all redundancy is regenerated when the
413        array is started after unclean shutdown    413        array is started after unclean shutdown.
414                                                   414 
415      bitmap                                       415      bitmap
416        Resync assisted by a write-intent bitma    416        Resync assisted by a write-intent bitmap.
417                                                   417 
418      journal                                      418      journal
419        For raid4/5/6, journal device is used t    419        For raid4/5/6, journal device is used to log transactions and replay
420        after unclean shutdown.                    420        after unclean shutdown.
421                                                   421 
422      ppl                                          422      ppl
423        For raid5 only, Partial Parity Log is u    423        For raid5 only, Partial Parity Log is used to close the write hole and
424        eliminate resync.                          424        eliminate resync.
425                                                   425 
426      The accepted values when writing to this     426      The accepted values when writing to this file are ``ppl`` and ``resync``,
427      used to enable and disable PPL.              427      used to enable and disable PPL.
428                                                << 
429   uuid                                         << 
430      This indicates the UUID of the array in t << 
431      xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx      << 
432                                                   428 
433                                                   429 
434 As component devices are added to an md array,    430 As component devices are added to an md array, they appear in the ``md``
435 directory as new directories named::              431 directory as new directories named::
436                                                   432 
437       dev-XXX                                     433       dev-XXX
438                                                   434 
439 where ``XXX`` is a name that the kernel knows     435 where ``XXX`` is a name that the kernel knows for the device, e.g. hdb1.
440 Each directory contains:                          436 Each directory contains:
441                                                   437 
442       block                                       438       block
443         a symlink to the block device in /sys/    439         a symlink to the block device in /sys/block, e.g.::
444                                                   440 
445              /sys/block/md0/md/dev-hdb1/block     441              /sys/block/md0/md/dev-hdb1/block -> ../../../../block/hdb/hdb1
446                                                   442 
447       super                                       443       super
448         A file containing an image of the supe    444         A file containing an image of the superblock read from, or
449         written to, that device.                  445         written to, that device.
450                                                   446 
451       state                                       447       state
452         A file recording the current state of     448         A file recording the current state of the device in the array
453         which can be a comma separated list of    449         which can be a comma separated list of:
454                                                   450 
455               faulty                              451               faulty
456                         device has been kicked    452                         device has been kicked from active use due to
457                         a detected fault, or i    453                         a detected fault, or it has unacknowledged bad
458                         blocks                    454                         blocks
459                                                   455 
460               in_sync                             456               in_sync
461                         device is a fully in-s    457                         device is a fully in-sync member of the array
462                                                   458 
463               writemostly                         459               writemostly
464                         device will only be su    460                         device will only be subject to read
465                         requests if there are     461                         requests if there are no other options.
466                                                   462 
467                         This applies only to r    463                         This applies only to raid1 arrays.
468                                                   464 
469               blocked                             465               blocked
470                         device has failed, and    466                         device has failed, and the failure hasn't been
471                         acknowledged yet by th    467                         acknowledged yet by the metadata handler.
472                                                   468 
473                         Writes that would writ    469                         Writes that would write to this device if
474                         it were not faulty are    470                         it were not faulty are blocked.
475                                                   471 
476               spare                               472               spare
477                         device is working, but    473                         device is working, but not a full member.
478                                                   474 
479                         This includes spares t    475                         This includes spares that are in the process
480                         of being recovered to     476                         of being recovered to
481                                                   477 
482               write_error                         478               write_error
483                         device has ever seen a    479                         device has ever seen a write error.
484                                                   480 
485               want_replacement                    481               want_replacement
486                         device is (mostly) wor    482                         device is (mostly) working but probably
487                         should be replaced, ei    483                         should be replaced, either due to errors or
488                         due to user request.      484                         due to user request.
489                                                   485 
490               replacement                         486               replacement
491                         device is a replacemen    487                         device is a replacement for another active
492                         device with same raid_    488                         device with same raid_disk.
493                                                   489 
494                                                   490 
495         This list may grow in future.             491         This list may grow in future.
496                                                   492 
497         This can be written to.                   493         This can be written to.
498                                                   494 
499         Writing ``faulty``  simulates a failur    495         Writing ``faulty``  simulates a failure on the device.
500                                                   496 
501         Writing ``remove`` removes the device     497         Writing ``remove`` removes the device from the array.
502                                                   498 
503         Writing ``writemostly`` sets the write    499         Writing ``writemostly`` sets the writemostly flag.
504                                                   500 
505         Writing ``-writemostly`` clears the wr    501         Writing ``-writemostly`` clears the writemostly flag.
506                                                   502 
507         Writing ``blocked`` sets the ``blocked    503         Writing ``blocked`` sets the ``blocked`` flag.
508                                                   504 
509         Writing ``-blocked`` clears the ``bloc    505         Writing ``-blocked`` clears the ``blocked`` flags and allows writes
510         to complete and possibly simulates an     506         to complete and possibly simulates an error.
511                                                   507 
512         Writing ``in_sync`` sets the in_sync f    508         Writing ``in_sync`` sets the in_sync flag.
513                                                   509 
514         Writing ``write_error`` sets writeerro    510         Writing ``write_error`` sets writeerrorseen flag.
515                                                   511 
516         Writing ``-write_error`` clears writee    512         Writing ``-write_error`` clears writeerrorseen flag.
517                                                   513 
518         Writing ``want_replacement`` is allowe    514         Writing ``want_replacement`` is allowed at any time except to a
519         replacement device or a spare.  It set    515         replacement device or a spare.  It sets the flag.
520                                                   516 
521         Writing ``-want_replacement`` is allow    517         Writing ``-want_replacement`` is allowed at any time.  It clears
522         the flag.                                 518         the flag.
523                                                   519 
524         Writing ``replacement`` or ``-replacem    520         Writing ``replacement`` or ``-replacement`` is only allowed before
525         starting the array.  It sets or clears    521         starting the array.  It sets or clears the flag.
526                                                   522 
527                                                   523 
528         This file responds to select/poll. Any    524         This file responds to select/poll. Any change to ``faulty``
529         or ``blocked`` causes an event.           525         or ``blocked`` causes an event.
530                                                   526 
531       errors                                      527       errors
532         An approximate count of read errors th    528         An approximate count of read errors that have been detected on
533         this device but have not caused the de    529         this device but have not caused the device to be evicted from
534         the array (either because they were co    530         the array (either because they were corrected or because they
535         happened while the array was read-only    531         happened while the array was read-only).  When using version-1
536         metadata, this value persists across r    532         metadata, this value persists across restarts of the array.
537                                                   533 
538         This value can be written while assemb    534         This value can be written while assembling an array thus
539         providing an ongoing count for arrays     535         providing an ongoing count for arrays with metadata managed by
540         userspace.                                536         userspace.
541                                                   537 
542       slot                                        538       slot
543         This gives the role that the device ha    539         This gives the role that the device has in the array.  It will
544         either be ``none`` if the device is no    540         either be ``none`` if the device is not active in the array
545         (i.e. is a spare or has failed) or an     541         (i.e. is a spare or has failed) or an integer less than the
546         ``raid_disks`` number for the array in    542         ``raid_disks`` number for the array indicating which position
547         it currently fills.  This can only be     543         it currently fills.  This can only be set while assembling an
548         array.  A device for which this is set    544         array.  A device for which this is set is assumed to be working.
549                                                   545 
550       offset                                      546       offset
551         This gives the location in the device     547         This gives the location in the device (in sectors from the
552         start) where data from the array will     548         start) where data from the array will be stored.  Any part of
553         the device before this offset is not t    549         the device before this offset is not touched, unless it is
554         used for storing metadata (Formats 1.1    550         used for storing metadata (Formats 1.1 and 1.2).
555                                                   551 
556       size                                        552       size
557         The amount of the device, after the of    553         The amount of the device, after the offset, that can be used
558         for storage of data.  This will normal    554         for storage of data.  This will normally be the same as the
559         component_size.  This can be written w    555         component_size.  This can be written while assembling an
560         array.  If a value less than the curre    556         array.  If a value less than the current component_size is
561         written, it will be rejected.             557         written, it will be rejected.
562                                                   558 
563       recovery_start                              559       recovery_start
564         When the device is not ``in_sync``, th    560         When the device is not ``in_sync``, this records the number of
565         sectors from the start of the device w    561         sectors from the start of the device which are known to be
566         correct.  This is normally zero, but d    562         correct.  This is normally zero, but during a recovery
567         operation it will steadily increase, a    563         operation it will steadily increase, and if the recovery is
568         interrupted, restoring this value can     564         interrupted, restoring this value can cause recovery to
569         avoid repeating the earlier blocks.  W    565         avoid repeating the earlier blocks.  With v1.x metadata, this
570         value is saved and restored automatica    566         value is saved and restored automatically.
571                                                   567 
572         This can be set whenever the device is    568         This can be set whenever the device is not an active member of
573         the array, either before the array is     569         the array, either before the array is activated, or before
574         the ``slot`` is set.                      570         the ``slot`` is set.
575                                                   571 
576         Setting this to ``none`` is equivalent    572         Setting this to ``none`` is equivalent to setting ``in_sync``.
577         Setting to any other value also clears    573         Setting to any other value also clears the ``in_sync`` flag.
578                                                   574 
579       bad_blocks                                  575       bad_blocks
580         This gives the list of all known bad b    576         This gives the list of all known bad blocks in the form of
581         start address and length (in sectors r    577         start address and length (in sectors respectively). If output
582         is too big to fit in a page, it will b    578         is too big to fit in a page, it will be truncated. Writing
583         ``sector length`` to this file adds ne    579         ``sector length`` to this file adds new acknowledged (i.e.
584         recorded to disk safely) bad blocks.      580         recorded to disk safely) bad blocks.
585                                                   581 
586       unacknowledged_bad_blocks                   582       unacknowledged_bad_blocks
587         This gives the list of known-but-not-y    583         This gives the list of known-but-not-yet-saved-to-disk bad
588         blocks in the same form of ``bad_block    584         blocks in the same form of ``bad_blocks``. If output is too big
589         to fit in a page, it will be truncated    585         to fit in a page, it will be truncated. Writing to this file
590         adds bad blocks without acknowledging     586         adds bad blocks without acknowledging them. This is largely
591         for testing.                              587         for testing.
592                                                   588 
593       ppl_sector, ppl_size                        589       ppl_sector, ppl_size
594         Location and size (in sectors) of the     590         Location and size (in sectors) of the space used for Partial Parity Log
595         on this device.                           591         on this device.
596                                                   592 
597                                                   593 
598 An active md device will also contain an entry    594 An active md device will also contain an entry for each active device
599 in the array.  These are named::                  595 in the array.  These are named::
600                                                   596 
601     rdNN                                          597     rdNN
602                                                   598 
603 where ``NN`` is the position in the array, sta    599 where ``NN`` is the position in the array, starting from 0.
604 So for a 3 drive array there will be rd0, rd1,    600 So for a 3 drive array there will be rd0, rd1, rd2.
605 These are symbolic links to the appropriate ``    601 These are symbolic links to the appropriate ``dev-XXX`` entry.
606 Thus, for example::                               602 Thus, for example::
607                                                   603 
608        cat /sys/block/md*/md/rd*/state            604        cat /sys/block/md*/md/rd*/state
609                                                   605 
610 will show ``in_sync`` on every line.              606 will show ``in_sync`` on every line.
611                                                   607 
612                                                   608 
613                                                   609 
614 Active md devices for levels that support data    610 Active md devices for levels that support data redundancy (1,4,5,6,10)
615 also have                                         611 also have
616                                                   612 
617    sync_action                                    613    sync_action
618      a text file that can be used to monitor a    614      a text file that can be used to monitor and control the rebuild
619      process.  It contains one word which can     615      process.  It contains one word which can be one of:
620                                                   616 
621        resync                                     617        resync
622                 redundancy is being recalculat    618                 redundancy is being recalculated after unclean
623                 shutdown or creation              619                 shutdown or creation
624                                                   620 
625        recover                                    621        recover
626                 a hot spare is being built to     622                 a hot spare is being built to replace a
627                 failed/missing device             623                 failed/missing device
628                                                   624 
629        idle                                       625        idle
630                 nothing is happening              626                 nothing is happening
631        check                                      627        check
632                 A full check of redundancy was    628                 A full check of redundancy was requested and is
633                 happening.  This reads all blo    629                 happening.  This reads all blocks and checks
634                 them. A repair may also happen    630                 them. A repair may also happen for some raid
635                 levels.                           631                 levels.
636                                                   632 
637        repair                                     633        repair
638                 A full check and repair is hap    634                 A full check and repair is happening.  This is
639                 similar to ``resync``, but was    635                 similar to ``resync``, but was requested by the
640                 user, and the write-intent bit    636                 user, and the write-intent bitmap is NOT used to
641                 optimise the process.             637                 optimise the process.
642                                                   638 
643       This file is writable, and each of the s    639       This file is writable, and each of the strings that could be
644       read are meaningful for writing.            640       read are meaningful for writing.
645                                                   641 
646         ``idle`` will stop an active resync/re    642         ``idle`` will stop an active resync/recovery etc.  There is no
647         guarantee that another resync/recovery    643         guarantee that another resync/recovery may not be automatically
648         started again, though some event will     644         started again, though some event will be needed to trigger
649         this.                                     645         this.
650                                                   646 
651         ``resync`` or ``recovery`` can be used    647         ``resync`` or ``recovery`` can be used to restart the
652         corresponding operation if it was stop    648         corresponding operation if it was stopped with ``idle``.
653                                                   649 
654         ``check`` and ``repair`` will start th    650         ``check`` and ``repair`` will start the appropriate process
655         providing the current state is ``idle`    651         providing the current state is ``idle``.
656                                                   652 
657       This file responds to select/poll.  Any     653       This file responds to select/poll.  Any important change in the value
658       triggers a poll event.  Sometimes the va    654       triggers a poll event.  Sometimes the value will briefly be
659       ``recover`` if a recovery seems to be ne    655       ``recover`` if a recovery seems to be needed, but cannot be
660       achieved. In that case, the transition t    656       achieved. In that case, the transition to ``recover`` isn't
661       notified, but the transition away is.       657       notified, but the transition away is.
662                                                   658 
663    degraded                                       659    degraded
664       This contains a count of the number of d    660       This contains a count of the number of devices by which the
665       arrays is degraded.  So an optimal array    661       arrays is degraded.  So an optimal array will show ``0``.  A
666       single failed/missing drive will show ``    662       single failed/missing drive will show ``1``, etc.
667                                                   663 
668       This file responds to select/poll, any i    664       This file responds to select/poll, any increase or decrease
669       in the count of missing devices will tri    665       in the count of missing devices will trigger an event.
670                                                   666 
671    mismatch_count                                 667    mismatch_count
672       When performing ``check`` and ``repair``    668       When performing ``check`` and ``repair``, and possibly when
673       performing ``resync``, md will count the    669       performing ``resync``, md will count the number of errors that are
674       found.  The count in ``mismatch_cnt`` is    670       found.  The count in ``mismatch_cnt`` is the number of sectors
675       that were re-written, or (for ``check``)    671       that were re-written, or (for ``check``) would have been
676       re-written.  As most raid levels work in    672       re-written.  As most raid levels work in units of pages rather
677       than sectors, this may be larger than th    673       than sectors, this may be larger than the number of actual errors
678       by a factor of the number of sectors in     674       by a factor of the number of sectors in a page.
679                                                   675 
680    bitmap_set_bits                                676    bitmap_set_bits
681       If the array has a write-intent bitmap,     677       If the array has a write-intent bitmap, then writing to this
682       attribute can set bits in the bitmap, in    678       attribute can set bits in the bitmap, indicating that a resync
683       would need to check the corresponding bl    679       would need to check the corresponding blocks. Either individual
684       numbers or start-end pairs can be writte    680       numbers or start-end pairs can be written.  Multiple numbers
685       can be separated by a space.                681       can be separated by a space.
686                                                   682 
687       Note that the numbers are ``bit`` number    683       Note that the numbers are ``bit`` numbers, not ``block`` numbers.
688       They should be scaled by the bitmap_chun    684       They should be scaled by the bitmap_chunksize.
689                                                   685 
690    sync_speed_min, sync_speed_max                 686    sync_speed_min, sync_speed_max
691      This are similar to ``/proc/sys/dev/raid/    687      This are similar to ``/proc/sys/dev/raid/speed_limit_{min,max}``
692      however they only apply to the particular    688      however they only apply to the particular array.
693                                                   689 
694      If no value has been written to these, or    690      If no value has been written to these, or if the word ``system``
695      is written, then the system-wide value is    691      is written, then the system-wide value is used.  If a value,
696      in kibibytes-per-second is written, then     692      in kibibytes-per-second is written, then it is used.
697                                                   693 
698      When the files are read, they show the cu    694      When the files are read, they show the currently active value
699      followed by ``(local)`` or ``(system)`` d    695      followed by ``(local)`` or ``(system)`` depending on whether it is
700      a locally set or system-wide value.          696      a locally set or system-wide value.
701                                                   697 
702    sync_completed                                 698    sync_completed
703      This shows the number of sectors that hav    699      This shows the number of sectors that have been completed of
704      whatever the current sync_action is, foll    700      whatever the current sync_action is, followed by the number of
705      sectors in total that could need to be pr    701      sectors in total that could need to be processed.  The two
706      numbers are separated by a ``/``  thus ef    702      numbers are separated by a ``/``  thus effectively showing one
707      value, a fraction of the process that is     703      value, a fraction of the process that is complete.
708                                                   704 
709      A ``select`` on this attribute will retur    705      A ``select`` on this attribute will return when resync completes,
710      when it reaches the current sync_max (bel    706      when it reaches the current sync_max (below) and possibly at
711      other times.                                 707      other times.
712                                                   708 
713    sync_speed                                     709    sync_speed
714      This shows the current actual speed, in K    710      This shows the current actual speed, in K/sec, of the current
715      sync_action.  It is averaged over the las    711      sync_action.  It is averaged over the last 30 seconds.
716                                                   712 
717    suspend_lo, suspend_hi                         713    suspend_lo, suspend_hi
718      The two values, given as numbers of secto    714      The two values, given as numbers of sectors, indicate a range
719      within the array where IO will be blocked    715      within the array where IO will be blocked.  This is currently
720      only supported for raid4/5/6.                716      only supported for raid4/5/6.
721                                                   717 
722    sync_min, sync_max                             718    sync_min, sync_max
723      The two values, given as numbers of secto    719      The two values, given as numbers of sectors, indicate a range
724      within the array where ``check``/``repair    720      within the array where ``check``/``repair`` will operate. Must be
725      a multiple of chunk_size. When it reaches    721      a multiple of chunk_size. When it reaches ``sync_max`` it will
726      pause, rather than complete.                 722      pause, rather than complete.
727      You can use ``select`` or ``poll`` on ``s    723      You can use ``select`` or ``poll`` on ``sync_completed`` to wait for
728      that number to reach sync_max.  Then you     724      that number to reach sync_max.  Then you can either increase
729      ``sync_max``, or can write ``idle`` to ``    725      ``sync_max``, or can write ``idle`` to ``sync_action``.
730                                                   726 
731      The value of ``max`` for ``sync_max`` eff    727      The value of ``max`` for ``sync_max`` effectively disables the limit.
732      When a resync is active, the value can on    728      When a resync is active, the value can only ever be increased,
733      never decreased.                             729      never decreased.
734      The value of ``0`` is the minimum for ``s    730      The value of ``0`` is the minimum for ``sync_min``.
735                                                   731 
736                                                   732 
737                                                   733 
738 Each active md device may also have attributes    734 Each active md device may also have attributes specific to the
739 personality module that manages it.               735 personality module that manages it.
740 These are specific to the implementation of th    736 These are specific to the implementation of the module and could
741 change substantially if the implementation cha    737 change substantially if the implementation changes.
742                                                   738 
743 These currently include:                          739 These currently include:
744                                                   740 
745   stripe_cache_size  (currently raid5 only)       741   stripe_cache_size  (currently raid5 only)
746       number of entries in the stripe cache.      742       number of entries in the stripe cache.  This is writable, but
747       there are upper and lower limits (32768,    743       there are upper and lower limits (32768, 17).  Default is 256.
748                                                   744 
749   strip_cache_active (currently raid5 only)       745   strip_cache_active (currently raid5 only)
750       number of active entries in the stripe c    746       number of active entries in the stripe cache
751                                                   747 
752   preread_bypass_threshold (currently raid5 on    748   preread_bypass_threshold (currently raid5 only)
753       number of times a stripe requiring prere    749       number of times a stripe requiring preread will be bypassed by
754       a stripe that does not require preread.     750       a stripe that does not require preread.  For fairness defaults
755       to 1.  Setting this to 0 disables bypass    751       to 1.  Setting this to 0 disables bypass accounting and
756       requires preread stripes to wait until a    752       requires preread stripes to wait until all full-width stripe-
757       writes are complete.  Valid values are 0    753       writes are complete.  Valid values are 0 to stripe_cache_size.
758                                                   754 
759   journal_mode (currently raid5 only)             755   journal_mode (currently raid5 only)
760       The cache mode for raid5. raid5 could in    756       The cache mode for raid5. raid5 could include an extra disk for
761       caching. The mode can be "write-throuth"    757       caching. The mode can be "write-throuth" and "write-back". The
762       default is "write-through".                 758       default is "write-through".
763                                                   759 
764   ppl_write_hint                                  760   ppl_write_hint
765       NVMe stream ID to be set for each PPL wr    761       NVMe stream ID to be set for each PPL write request.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php