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 [Zhi Yong]
- Handle snapshots
- Support shrinking
qed online resize [Zhi Yong]
- Support shrinking
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