As mentioned in earlier email threads, I experimented with an
alternative layout to the structs sent across the wire during
NBD_OPT_{LIST,SET}_META_CONTEXT, on the grounds that having the
namespace and leaf-name combined into one string that requires further
parsing on each end is not as nice as having two separate fields. I'm
replying to this mail with two RFC patches, one for the NBD spec, and
one for the qemu implementation.
If we like the idea, this has to go into qemu 2.12, so we have less than
a week. Or, we can ignore the RFC, keep qemu the way it is currently
coded, and when it is released, it will be time to promote the NBD
extension-blockstatus to current as there will be an existing
implementation to be interoperable with.
Note that I intentionally changed the value of NBD_OPT_SET_META_CONTEXT
so that the existing Virtuozzo of OPT 10 will not get confused by the
new layout (both new server and old client, as well as old server and
new client, will merely fail to negotiate block status, and then be
unable to use NBD_CMD_BLOCK_STATUS). I didn't bother changing
NBD_OPT_LIST_META_CONTEXT, as it looks like the existing Virtuozzo
implementation did not use that option as a client.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org