md/raid456: distribute raid processing over multiple cores
[pandora-kernel.git] / drivers / md / Kconfig
index 2281b50..09c0c6e 100644 (file)
@@ -121,8 +121,11 @@ config MD_RAID10
 config MD_RAID456
        tristate "RAID-4/RAID-5/RAID-6 mode"
        depends on BLK_DEV_MD
+       select MD_RAID6_PQ
        select ASYNC_MEMCPY
        select ASYNC_XOR
+       select ASYNC_PQ
+       select ASYNC_RAID6_RECOV
        ---help---
          A RAID-5 set of N drives with a capacity of C MB per drive provides
          the capacity of C * (N - 1) MB, and protects against a failure
@@ -151,34 +154,32 @@ config MD_RAID456
 
          If unsure, say Y.
 
-config MD_RAID5_RESHAPE
-       bool "Support adding drives to a raid-5 array"
+config MULTICORE_RAID456
+       bool "RAID-4/RAID-5/RAID-6 Multicore processing (EXPERIMENTAL)"
        depends on MD_RAID456
-       default y
+       depends on SMP
+       depends on EXPERIMENTAL
        ---help---
-         A RAID-5 set can be expanded by adding extra drives. This
-         requires "restriping" the array which means (almost) every
-         block must be written to a different place.
-
-          This option allows such restriping to be done while the array
-         is online.
+         Enable the raid456 module to dispatch per-stripe raid operations to a
+         thread pool.
 
-         You will need mdadm version 2.4.1 or later to use this
-         feature safely.  During the early stage of reshape there is
-         a critical section where live data is being over-written.  A
-         crash during this time needs extra care for recovery.  The
-         newer mdadm takes a copy of the data in the critical section
-         and will restore it, if necessary, after a crash.
+         If unsure, say N.
 
-         The mdadm usage is e.g.
-              mdadm --grow /dev/md1 --raid-disks=6
-         to grow '/dev/md1' to having 6 disks.
+config MD_RAID6_PQ
+       tristate
 
-         Note: The array can only be expanded, not contracted.
-         There should be enough spares already present to make the new
-         array workable.
+config ASYNC_RAID6_TEST
+       tristate "Self test for hardware accelerated raid6 recovery"
+       depends on MD_RAID6_PQ
+       select ASYNC_RAID6_RECOV
+       ---help---
+         This is a one-shot self test that permutes through the
+         recovery of all the possible two disk failure scenarios for a
+         N-disk array.  Recovery is performed with the asynchronous
+         raid6 recovery routines, and will optionally use an offload
+         engine if one is available.
 
-         If unsure, say Y.
+         If unsure, say N.
 
 config MD_MULTIPATH
        tristate "Multipath I/O support"