-E flag in newfs doesn't erase the whole device. For one thing, it returns immediately (which is unexpected since DIOCGDELETE ioctl is a blocking call). On the other hand, pre-existing filesystems continue to be usable:
# zpool create -m none -f test /dev/ada1s1
# zpool export test
# newfs -E /dev/ada1s1
Erasing sectors [128...16773119]
# zpool import test
I don't know the fix, but it seems most likely a kernel bug (I've verified that DIOCGDELETE ioctl is indeed being called).
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped