This converts the RDMA code to provide a subclass of QIOChannel that uses RDMA for the data transport. This implementation of RDMA does not correctly handle non-blocking mode. Reads might block if there was not already some pending data and writes will block until all data is sent. This flawed behaviour was already present in the existing impl, so appears to not be a critical problem at this time. It should be on the list of things to fix in the future though. The RDMA code would be much better off it it could be split up in a generic RDMA layer, a QIOChannel impl based on RMDA, and then the RMDA migration glue. This is left as a future exercise for the brave. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <1461751518-12128-18-git-send-email-berrange@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> |
||
---|---|---|
.. | ||
block.c | ||
exec.c | ||
fd.c | ||
Makefile.objs | ||
migration.c | ||
postcopy-ram.c | ||
qemu-file-buf.c | ||
qemu-file-channel.c | ||
qemu-file-internal.h | ||
qemu-file-stdio.c | ||
qemu-file-unix.c | ||
qemu-file.c | ||
qjson.c | ||
ram.c | ||
rdma.c | ||
savevm.c | ||
socket.c | ||
vmstate.c | ||
xbzrle.c |