OpenCloudOS-Kernel/crypto/async_tx
Dan Williams da17bf4306 async_tx: fix asynchronous raid6 recovery for ddf layouts
The raid6 recovery code currently requires special handling of the
4-disk and 5-disk recovery scenarios for the native layout.  Quoting
from commit 0a82a623:

     In these situations the default N-disk algorithm will present
     0-source or 1-source operations to dma devices.  To cover for
     dma devices where the minimum source count is 2 we implement
     4-disk and 5-disk handling in the recovery code.

The ddf layout presents disks=6 and disks=7 to the recovery code in
these situations.  Instead of looking at the number of disks count the
number of non-zero sources in the list and call the special case code
when the number of non-failed sources is 0 or 1.

[neilb@suse.de: replace 'ddf' flag with counting good sources]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-10-19 23:34:46 -07:00
..
Kconfig async_tx: add support for asynchronous RAID6 recovery operations 2009-08-29 19:09:27 -07:00
Makefile async_tx: raid6 recovery self test 2009-08-29 19:09:28 -07:00
async_memcpy.c dmaengine, async_tx: support alignment checks 2009-09-08 17:42:53 -07:00
async_memset.c dmaengine, async_tx: support alignment checks 2009-09-08 17:42:53 -07:00
async_pq.c async_pq: rename scribble page 2009-10-19 23:34:46 -07:00
async_raid6_recov.c async_tx: fix asynchronous raid6 recovery for ddf layouts 2009-10-19 23:34:46 -07:00
async_tx.c dmaengine, async_tx: add a "no channel switch" allocator 2009-09-08 17:42:51 -07:00
async_xor.c raid6/async_tx: handle holes in block list in async_syndrome_val 2009-10-16 16:40:34 +11:00
raid6test.c raid6test: fix stack overflow 2009-09-16 21:03:29 -07:00