The VMware vStorage APIs for Array Integration (VAAI) allow common VM disk operations to be sped up including
- Atomic Test and Set (ATC): for fast LV locking
- Block-level Zero: for blanking freshly-created LVs
- Block-level Clone: for getting the array to copy LVs
- Block-level Delete: to clear unused space
(for more information see http://linux-iscsi.org/wiki/VStorage_APIs_for_Array_Integration )
The APIs are presented as SCSI commands and have been implemented in the http://linux-iscsi.org/wiki/LIO which has achieved VMware certification in several hardware products.
- Linux has a BLKZEROOUT ioctl
- Linux 3.12 has http://linux-kernel.2935.n7.nabble.com/PATCH-0-9-target-Add-support-for-EXTENDED-COPY-VAAI-offload-emulation-td707824.html which you can run via http://manpages.ubuntu.com/manpages/saucy/man8/sg_xcopy.8.html
- Linux 3.16-rc4 has a fixed EXTENDED COPY which is enough for a proof-of-concept https://www.redhat.com/archives/dm-devel/2014-July/msg00066.html. This is automatically used if you use mirror, snapshot, thin or cache dm targets.