* Alexander Graf (ag...@suse.de) wrote: > > > On 22.06.15 16:49, Dr. David Alan Gilbert (git) wrote: > > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > > > The VMDescription section maybe after the EOF mark, the current code > > does a 'qemu_get_byte' and either gets the header byte identifying the > > description or an error (which it ignores). Doing the 'get' upsets > > RDMA which hangs on old machine types without the VMDescription. > > > > Using 'qemu_peek_byte' avoids that. > > > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > Fun. I did actually use peek at first and then figured it's the same as > read in the qemu file implementation. Have you figured out why exactly > peek does make a difference for the RDMA case?
Hmm, no, I agree that is odd but I do need to look again at it. I started off with a simple empty VM (no guest running) and found that it wouldn't migrate over RDMA using machine types older than 2.3 unless I sent the vmdesc, and this seems to fix that for me. However, I've found another case; a busy migrate running stressapp that still fails on older machine types. My guess is that it depends whether we've read the data already - if we're lucky and the data is already in the qemu-file buffer it doesn't end up calling the RDMA code again. Dave > > > Alex -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK