[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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

Reply to: