ToDo/Block/old: Difference between revisions
(Created page with '=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…') |
|||
Line 1: | Line 1: | ||
=Material for next QEMU release= | =Material for next QEMU release= | ||
Coroutines in the block layer [Kevin] | ====Coroutines in the block layer [Kevin]==== | ||
* Programming model to simplify block drivers without blocking QEMU threads | |||
Generic copy-on-read [Stefan] | ====Generic copy-on-read [Stefan]==== | ||
* Populate image file to avoid fetching same block from backing file again later | |||
again later | |||
Generic image streaming [Stefan] | ====Generic image streaming [Stefan]==== | ||
* Make block_stream commands available for all image formats that support backing files | |||
support backing files | |||
Live block copy | ====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]: | ====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] | ====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] | ====Block I/O limits [Zhi Yong]==== | ||
* Resource control for guest I/O bandwidth/iops consumption | |||
Runtime WCE toggling [?] | ====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 | |||
=Future changes= | =Future changes= |
Revision as of 13:11, 22 August 2011
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
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