2008-03-21 22:48:37

by Chris Wright

[permalink] [raw]
Subject: [patch 73/76] async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor

-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Dan Williams <[email protected]>

If the channel cannot perform the operation in one call to
->device_prep_dma_zero_sum, then fallback to the xor+page_is_zero path.
This only affects users with arrays larger than 16 devices on iop13xx or
32 devices on iop3xx.

Cc: <[email protected]>
Cc: Neil Brown <[email protected]>
Signed-off-by: Dan Williams <[email protected]>
[[email protected]: backport to 2.6.24.3]
Signed-off-by: Chris Wright <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
please verify the backport makes sense

crypto/async_tx/async_xor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -264,7 +264,7 @@ async_xor_zero_sum(struct page *dest, st

BUG_ON(src_cnt <= 1);

- if (tx) {
+ if (tx && src_cnt <= device->max_xor) {
dma_addr_t dma_addr;
enum dma_data_direction dir;


--