Re: [Qemu-devel] drive-mirroring to nbd is failing with multiple parallel jobs (qemu 2.9 -> 2.11)
[adding nbd list]
On 02/14/2018 03:45 AM, Alexandre DERUMIER wrote:
Sorry, I just find that the problem is in our proxmox implementation,
as we use a socat tunnel for the nbd mirroring, with a timeout of 30s in case of inactivity.
So, not a qemu bug.
Good to hear. Still, it makes me wonder if the NBD protocol itself
should have some sort of a keepalive mechanism, maybe a new NBD_CMD_PING
that can be used as a no-op command to keep the line alive if there is
no other command to send for a while? A client can always use a
throwaway NBD_CMD_READ to keep the line alive, but that has more
overhead; conversely, an extension is only useful if both client and
server can negotiate to use it, which means that clients still have to
be prepared for alternative fallbacks if they want to keep the line
alive. And we still don't have support for the server ever sending
unsolicited messages (other than perhaps a structured reply where the
server sends periodic reply chunks but never sends a final chunk - but
still something that the guest initiates the sequence of server
replies), so while the guest can keep the line to the server up, having
the server keep the line open to the guest is a bit harder.
This is more food for thought on whether it even makes sense for NBD to
worry about assisting in keepalive matters, or whether it would just be
bloating the protocol.
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org