/*****************************************************************************
*
* walk through the entire arry and write new parity. This works by
* creating two DAGs, one to read a stripe of data and one to write
* new parity. The first is executed, the data is xored together, and
* then the second is executed. To avoid constantly building and
* tearing down the DAGs, we create them a priori and fill them in
* with the mapping information as we go along.
*
* there should never be more than one thread running this.
*
****************************************************************************/