Re[4]: [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations

2009-01-17 Thread Yuri Tikhonov
On Friday, January 16, 2009 you wrote: > On Fri, Jan 16, 2009 at 4:51 AM, Yuri Tikhonov wrote: >> The reason why I preferred to use async_pq() instead of async_xor() >> here is to maximize the chance that the whole D+D recovery operation >> will be handled in one ADMA device, i.e. without channe

Re: Re[2]: [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations

2009-01-16 Thread Dan Williams
On Fri, Jan 16, 2009 at 4:51 AM, Yuri Tikhonov wrote: > The reason why I preferred to use async_pq() instead of async_xor() > here is to maximize the chance that the whole D+D recovery operation > will be handled in one ADMA device, i.e. without channels switch and > the latency introduced becaus

Re[2]: [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations

2009-01-16 Thread Yuri Tikhonov
On Thursday, January 15, 2009 Dan Williams wrote: > On Mon, Jan 12, 2009 at 5:43 PM, Yuri Tikhonov 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, AS

Re: [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations

2009-01-14 Thread Dan Williams
On Mon, Jan 12, 2009 at 5:43 PM, Yuri Tikhonov 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); >

[PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations

2009-01-12 Thread Yuri Tikhonov
This patch extends async_tx API with two operations for recovery operations on RAID6 array with two failed disks using new async_pq() operation. Patch introduces the following functions: async_r6_dd_recov() recovers after double data disk failure async_r6_dp_recov() recovers after D+P failure