On Mon, Jan 12, 2009 at 5:43 PM, Yuri Tikhonov <yur@xxxxxxxxxxx> wrote: > + /* (2) Calculate Q+Qxy */ > + lptrs[0] = ptrs[failb]; > + lptrs[1] = ptrs[disks-1]; > + lptrs[2] = NULL; > + tx = async_pq(lptrs, NULL, 0, 1, bytes, ASYNC_TX_DEP_ACK, > + tx, NULL, NULL); > + > + /* (3) Calculate P+Pxy */ > + lptrs[0] = ptrs[faila]; > + lptrs[1] = ptrs[disks-2]; > + lptrs[2] = NULL; > + tx = async_pq(lptrs, NULL, 0, 1, bytes, ASYNC_TX_DEP_ACK, > + tx, NULL, NULL); > + These two calls convinced me that ASYNC_TX_PQ_ZERO_{P,Q} need to go. A 1-source async_pq operation does not make sense. These should be: /* (2) Calculate Q+Qxy */ lptrs[0] = ptrs[disks-1]; lptrs[1] = ptrs[failb]; tx = async_xor(lptrs[0], lptrs, 0, 2, bytes, ASYNC_TX_XOR_DROP_DST|ASYNC_TX_DEP_ACK, tx, NULL, NULL); /* (3) Calculate P+Pxy */ lptrs[0] = ptrs[disks-2]; lptrs[1] = ptrs[faila]; tx = async_xor(lptrs[0], lptrs, 0, 2, bytes, ASYNC_TX_XOR_DROP_DST|ASYNC_TX_DEP_ACK, tx, NULL, NULL); Regards, Dan -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html