On Wed, Sep 19, 2018 at 09:35:16PM +0800, Fei Li wrote: > Hi, > > This idea comes from BiteSizedTasks, and this patch series implement > the error checking of qemu_thread_create: make qemu_thread_create > return a flag to indicate if it succeeded rather than failing with an > error; make all callers check it. > > The first three patches apply to those call traces whose further > callers already have the *errp to pass, thus add a new Error paramater > in the call trace to propagate the error and let the further caller > check it. The last patch modifies the qemu_thread_create() and makes > it return a bool to all direct callers to indicate if it succeeds. > The middle three fix some segmentation fault when using GDB to debug. > > ###### Here I have a concern about using multifd migration. ###### > It is about "[PATCH RFC v3 5/7] migration: fix the multifd code". > In our current code, when multifd is used during migration, if there > is an error before the destination receives all new channels (I mean > multifd_recv_new_channel(ioc)), the destination does not exit but > keeps waiting (Hang in recvmsg() in qio_channel_socket_readv) until > the source exits. I know hang is not right, but so sorry that I did > not come up with a good idea on handling this. Not so familiar with > that part of code.. Could someone kindly give a hand? Thanks a lot!
CCing Juan for the multifd concerns. Regards, -- Peter Xu