Ok, so I ended up nuking the whole thing and starting from scratch. Luckily I had only restored little enough data that I could back it up this time! Anyway, I now have two separate... uh... I'm not sure what the technical term is. There's one pool but it has two raidz1 arrays of four drives each (I'd have preferred raidz2 but that would lose me about 4 terabytes). I did also create the array with ashift=12. So far performance has been fantastic, and I've had zero errors, checksum or otherwise (knock on wood). The no checksum errors makes me think ashift=12 was a good idea. Thanks to everyone who offered suggestions! --