From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qm3Z9-0005ZS-Uf for qemu-devel@nongnu.org; Wed, 27 Jul 2011 08:50:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qm3Z8-0004k2-PL for qemu-devel@nongnu.org; Wed, 27 Jul 2011 08:50:23 -0400 Received: from mail-yi0-f45.google.com ([209.85.218.45]:57674) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qm3Z8-0004jy-Jt for qemu-devel@nongnu.org; Wed, 27 Jul 2011 08:50:22 -0400 Received: by yia25 with SMTP id 25so1202609yia.4 for ; Wed, 27 Jul 2011 05:50:22 -0700 (PDT) Message-ID: <4E30098C.2020204@codemonkey.ws> Date: Wed, 27 Jul 2011 07:50:20 -0500 From: Anthony Liguori MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Block layer roadmap List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , devin122@gmail.com, Jes Sorensen , Jagane Sundar , Dor Laor , qemu-devel , Markus Armbruster , Feiran Zheng , Frediano Ziglio , Paolo Bonzini 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 >