But NFS' internal consistency model makes the situation a whole lot better than having a block device inside the VM.This is just making it worse with another layer that is not perfectly synced. Snapshotting is not the problem. Guaranteeing that the data in the snapshot is perfectly consistent is a problem and you can not solve that by changing the backend. ZFS supports perfect synchronized writes. The FS won't be corrupt in itself. It's the software that might have data in flight because it is not programmed for situations that are somehow like pulling the plug without knowing when.