X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=323dc0b4f7e8ccf96183737cc0740a8b6ef198d0;hp=17829c266690299ef0ee42346140779b30e66252;hb=af7e3fc047447ff77ade4640194f9ec519068951;hpb=b56d67859c6835e9a33e9099b0eccbe02bca12d2;ds=sidebyside diff --git a/TODO b/TODO index 17829c2..323dc0b 100644 --- a/TODO +++ b/TODO @@ -6,24 +6,46 @@ https://www.redhat.com/archives/fedora-virt/2009-April/msg00114.html We badly need to actually implement the FTP server mentioned in the documentation. ----------------------------------------------------------------------- +Or: Implement a FUSE-based filesystem. See the FUSE mountlo +project which does something similar, albeit only to single +filesystems: + +http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=150116 -(From Ján ONDREJ (SAL)) +---------------------------------------------------------------------- -We should provide a way to stream partitions in and out. +BufferIn and BufferOut should turn into and simple +strings in other languages that can handle 8 bit clean strings. +Limit on transfers would still be 2MB for these types. + - then implement write-file properly + - and implement read-file -Thus: +---------------------------------------------------------------------- -dd-out /dev/sda1 > [some file] +Implement febootstrap command. -dd-in /dev/sda1 < [some file] +---------------------------------------------------------------------- -Along with this, we need to be able to call the resize2fs program to -resize the filesystem in case it is larger or smaller than the target -partition. +Complete the Haskell bindings (see discussion on haskell-cafe). -Another useful feature would be to allow rsync to/from a stream for -whole filesystems and subdirectories. +---------------------------------------------------------------------- -The current protocol is message-oriented and doesn't support -streaming. But it's simple enough that we could add this. +Practically, resizing the partitions when a block device is resized +isn't possible. So for example it's not possible to resize a Fedora +block device. If you try to use sfdisk-N to change the boundaries of +the existing partition to fill up the new space, you get an error that +the partition is in use. + +The reason, I now think, is because LVM is using the partition as a +PV, and this locks it as far as the kernel is concerned. + +Removing the PV [which is what we do in the test suite] isn't +desirable if the PV contains data you care about. Rebooting the qemu +subprocess after the partition table change works, but isn't very +cool. I believe what we need to do is to temporarily reconfigure LVM +(using /etc/lvm/lvm.conf) to ignore the PV, vgscan (which will then +ignore the PV), make the changes to the partition table, then set the +LVM configuration back and do a final vgscan. + +Need to test the above, and find a nice way to present it through +the API.