On 07/27/2011 07:37 AM, Stefan Hajnoczi wrote:
Hi, Here is a list of block layer and storage changes that have been discussed. It is useful to have a roadmap of changes in order to avoid duplication, allow more developers to contribute, and to communicate the direction of storage in QEMU.
Thanks for writing this up Stefan!
I suggest we first do a braindump of all changes that have been discussed. Later we can discuss specific changes and if/when they fit into the roadmap - please don't jump into discussion about specific changes yet. Kevin: I hope this a useful starting point. Here are all the items that I am aware of: =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 [Marcelo/Kevin/Stefan?] * Copy the contents of an image file while a guest is using it In-place qcow2<-> qed conversion [Devin, GSoC 2011]: * Fast conversion between qcow2 and qed image formats without copy all data VMDK enhancements [Fam, GSoC 2011] * Implement latest VMDK specs to support modern image files Block I/O limits [Zhi Yong] * Resource control for guest I/O bandwidth/iops consumption =Changes where I am not aware of firm plans= 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
I'm planning on helping out here however I can. Regards, Anthony Liguori
QCOW3 * Extend qcow2 format to address current and future image format challenges iSCSI/NBD/Remote block device integration * Enable remote access to disk images for live migration and other tasks Pre/post block copy * Working block migration 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 tcm_vhost [Stefan] * Directly connect virtio-scsi with Linux in-kernel SCSI target * Pass-through of host SCSI devices