The Ceph erasure code plugin must run on Intel CPU that have no SSE4.2 support. A Qemu is run without SSE4.2 support:
qemu-system-x86_64 -machine accel=kvm:tcg -m 2048 \ -drive file=server.img -boot c \ -display sdl \ -net nic -net user,hostfwd=tcp::2222-:22 \ -fsdev local,security_model=passthrough,id=fsdev0,path=~/ceph \ -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
The qemu CPU has no SSE4.2 although the native CPU has it:
$ grep sse4.2 /proc/cpuinfo | wc -l 4 $ ssh -p 2222 loic@127.0.0.1 grep sse4.2 /proc/cpuinfo | wc -l 0
The local development directory is a Plan 9 folder shared over Virtio mounted inside the VM:
sudo mount -t 9p -o trans=virtio,version=9p2000.L hostshare /home/loic/ceph
and the functional test is run to assert that encoding and decoding an object:
$ cd /home/loic/ceph/src $ ./unittest_erasure_code_jerasure ... [----------] Global test environment tear-down [==========] 16 tests from 8 test cases ran. (30 ms total) [ PASSED ] 16 tests.