We want to support online resize of guest disks in the libvirt API for QEMU, and had intended to use the fairly recently added 'block_resize' command:
commit db97ee6a976bacbb0d18818e951cfc41b39269a7 Author: Christoph Hellwig <h...@lst.de> Date: Mon Jan 24 13:32:41 2011 +0100 block: tell drivers about an image resize commit 6d4a2b3a47959f02e7f307f50396e70e8464f95e Author: Christoph Hellwig <h...@lst.de> Date: Mon Jan 24 13:32:33 2011 +0100 block: add block_resize monitor command There is unfortunately a problem with the design of this monitor command because it has tied the task of resizing the host backing file for the virtual disk, together with the task of notifying the guest device of the block resize. This means that we can only use 'block_resize' for disks that are backed by image files (raw, qcow2, etc) that QEMU can actually resize. To be able to support online resize of virtual disks backed by host block devices, LVM volumes, SCSI LUNs, iSCSI LUNs, etc we need to be able to decouple these tasks. The resize of the block device needs to be done outside QEMU, either by privileged tools on the host, or by a remote SAN administrator, or a combo of both. IOW, we need a way to tell QEMU to merely re-read the host file/block size to detect an externally performed resize, and then just notify the guest. While this would also be sufficient for raw file images, obviously we don't want todo this with any of the magic formats where QEMU has to remain in charge of updating metadata while active. I see two likely approaches: 1. Add a parameter to the existing 'block_resize' command 'refreshonly=true|false' 2. Add a separate command 'block_refresh' Both of these options would internally just re-read the capacity of the BlockDriver image, and then notify the guest device. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|