On 08/15/2017 02:26 AM, Vladimir Sementsov-Ogievskiy wrote: >>> The only doubt: is it possible to hang on nbd_rwv because some fail in >>> connection or server? >> We _already_ have the bug that we are hanging in trying to talk to a >> broken server, which is a regression introduced in 2.9 and not present >> in 2.8. And that's what I'm most worried about getting fixed before >> 2.10 is released. >> >> I don't think that sending any more data to the server is necessarily >> going to cause a hang, so much as trying to read data that is going to >> be sent in reply or failing to manipulate the coroutine handlers >> correctly (that is, our current hang is because even after we detect >> failure, we are still sending NBD_CMD_FLUSH but no longer have a >> coroutine in place to read the reply, so we no longer make progress to >> the point of sending NBD_CMD_DISC and closing the connection). > > but we will not try to read. > However, I'm convinced, ok, let's send nothing to the broken server.
Can you offer a review on my proposed patch? I'm hoping to send an NBD pull request in the next couple of hours, to make -rc3. https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg02593.html -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature