So, my 3Tb WD Red passed its 'badblocks' test which does four passes of write and read verification (only taking four days), so I passed it as a whole device into my Ubuntu #KVM running #zfsonlinux and configured it as a #ZFS pool device. I set it running copying all the files off my old NTFS external USB drive into the new ZFS pool and ... well, it was taking a very, very long time. Turns out it was doing just 500Kb/sec, which even for KVM is abnormally slow.
So, I bump up RAM allocated to 4Gb, change it from direct device passthrough into a #LVM raw file (there used to be a slow write bug in KVM with direct device passthrough, but it's supposed to be fixed) and ... still 500Kb/sec with dd from /dev/zero.
Ok I think, let's turn off all fsyncing and write barriers, so after passing 'cache=unsafe' for the LVM raw file into KVM, now I get ... 1.2Mb/sec. Well, I suppose at least that's better :) but that's still a factor of 100x slower than it should be.
I guess it's time for the thinking cap to go on. There must be something I'm missing here!