On 02/21/2013 07:27 PM, Timothy Coalson wrote: > I think last time this was asked, the consensus was that the implementation > was based on linear feedback shift registers and xor, which happens to be a > reed-solomon code (not as clear on this part, but what matters is what it > is, not what it isn't). Regardless, from reading the source previously, I > am fairly sure it operates bytewise, with xor for first syndrome (parity), > and LFSR and then xor for the other syndromes. > > See > http://openindiana.org/pipermail/openindiana-discuss/2012-October/010419.html
Just had a look over the code of vdev_raidz_generate_parity_pq[r] and you are right, the first column is calculated as a simple XOR parity. However, as can been in vdev_raidz_generate_parity_pq, a raid-z2 does an extra for() loop pass over the data in comparison to just the raid-z1 case above it. I don't have the time to test it separately, but presumably this can incur quite a cost for the CPU in terms of processing (especially if the block being processed doesn't fit in L1 caches). Cheers, -- Saso _______________________________________________ OpenIndiana-discuss mailing list OpenIndiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss