ToDo/Block/old
Material for next QEMU release
Coroutines in the block layer [Kevin]
* Programming model to simplify block drivers without blocking QEMU threads
Generic copy-on-read [Stefan]
* Populate image file to avoid fetching same block from backing file
again later
Generic image streaming [Stefan]
* Make block_stream commands available for all image formats that
support backing files
Live block copy
* Copy the contents of an image file while a guest is using it * Mostly a libvirt feature based on QEMU's blockdev-snapshot-sync and block_stream
In-place qcow2 <-> qed conversion [Devin, GSoC 2011]:
* Fast conversion between qcow2 and qed image formats without copy all data * Patches currently being reviewed and merged
VMDK enhancements [Fam, GSoC 2011]
* Implement latest VMDK specs to support modern image files * Patches currently being reviewed and merged
Block I/O limits [Zhi Yong]
* Resource control for guest I/O bandwidth/iops consumption
Runtime WCE toggling [?]
* wce=none|on|off and run-time guest toggling support * Prerequisite to switching away from cache=writethrough by default
Future changes
Cow overlay [Dong Xu "Robert"]
* Allow live block copy and image streaming to raw destination files
snapshot_blkdev and Backup API [Jes, Jagane]
* Support for consistent disk snapshots and dirty block tracking * Allow backup software to integrate with QEMU
-blockdev [Markus?]
* Explicit user control over block device trees * Perhaps base this on QEMU Object Model right away
QCOW3
* Extend qcow2 format to address current and future image format challenges * Feature bits for fine-grained file format extensions * Sub-clusters to reduce metadata size and fragmentation * Zero clusters for efficient sparse images and copy-on-read * luks-like key scheme that allows changing passphrase without re-encrypting data
iSCSI/NBD/Remote block device integration
* Enable remote access to disk images for live migration and other tasks * Still unclear what will be done in this area
Pre/post block copy based on image streaming
* Working block migration that works with a separate migration thread
Avoid blocking QEMU threads
* Today loss of NFS connectivity can hang guests * It's critical never to block the vcpu thread * The iothread should also not block while the qemu mutex is held * All blocking operations must be done asynchronously or in a worker thread
virtio-scsi [Paolo/Stefan]
* The next step after virtio-blk, full SCSI command set and appears as SCSI HBA in guest * Real /dev/sda devices in guest * No more modifying guest drivers to add simple storage protocol features
tcm_vhost [Stefan]
* Directly connect virtio-scsi with Linux in-kernel SCSI target * Pass-through of host SCSI devices
qcow2 online resize
* Handle snapshots * Support shrinking
qed online resize
* Support shrinking