dbc7b01492
Allow the server to expose an additional metacontext to be requested by savvy clients. qemu-nbd adds a new option -A to expose the qemu:allocation-depth metacontext through NBD_CMD_BLOCK_STATUS; this can also be set via QMP when using block-export-add. qemu as client is hacked into viewing the key aspects of this new context by abusing the already-experimental x-dirty-bitmap option to collapse all depths greater than 2, which results in a tri-state value visible in the output of 'qemu-img map --output=json' (yes, that means x-dirty-bitmap is now a bit of a misnomer, but I didn't feel like renaming it as it would introduce a needless break of back-compat, even though we make no compat guarantees with x- members): unallocated (depth 0) => "zero":false, "data":true local (depth 1) => "zero":false, "data":false backing (depth 2+) => "zero":true, "data":true libnbd as client is probably a nicer way to get at the information without having to decipher such hacks in qemu as client. ;) Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20201027050556.269064-11-eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> |
||
---|---|---|
.. | ||
config | ||
devel | ||
interop | ||
specs | ||
sphinx | ||
spin | ||
system | ||
tools | ||
user | ||
amd-memory-encryption.txt | ||
barrier.txt | ||
block-replication.txt | ||
bootindex.txt | ||
can.txt | ||
ccid.txt | ||
COLO-FT.txt | ||
colo-proxy.txt | ||
conf.py | ||
cpu-hotplug.rst | ||
defs.rst.inc | ||
generic-loader.txt | ||
hyperv.txt | ||
igd-assign.txt | ||
image-fuzzer.txt | ||
index.html.in | ||
index.rst | ||
memory-hotplug.txt | ||
meson.build | ||
microvm.rst | ||
multi-thread-compression.txt | ||
multiseat.txt | ||
nvdimm.txt | ||
pci_expander_bridge.txt | ||
pcie_pci_bridge.txt | ||
pcie.txt | ||
pr-manager.rst | ||
pvrdma.txt | ||
qcow2-cache.txt | ||
qdev-device-use.txt | ||
qemu_logo.pdf | ||
qemu-option-trace.rst.inc | ||
qemupciserial.inf | ||
rdma.txt | ||
replay.txt | ||
spice-port-fqdn.txt | ||
throttle.txt | ||
u2f.txt | ||
usb2.txt | ||
usb-storage.txt | ||
virtio-balloon-stats.txt | ||
virtio-net-failover.rst | ||
virtio-pmem.rst | ||
xbzrle.txt | ||
xen-save-devices-state.txt |