X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=TODO;h=3264e3a0f56c1c189d846149611a8e7aabb1f61e;hb=3de234656bc61a2d35b0f1a9ccb1e6ef7535166b;hp=17829c266690299ef0ee42346140779b30e66252;hpb=a5f68bd57d887c8c8818dbb92a9f8b7643f67827;p=libguestfs.git diff --git a/TODO b/TODO index 17829c2..3264e3a 100644 --- a/TODO +++ b/TODO @@ -6,24 +6,96 @@ 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 + +---------------------------------------------------------------------- + +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 + +---------------------------------------------------------------------- + +Implement febootstrap command. + +---------------------------------------------------------------------- + +Complete the Haskell bindings (see discussion on haskell-cafe). + +---------------------------------------------------------------------- + +Complete the bindings tests - must test the return values and +error cases. + +---------------------------------------------------------------------- + +For virt-inspector: + + - Make a libvirt XML config + + - Test over available OSes + + - Add 'reged' / NT registry support. + ---------------------------------------------------------------------- -(From Ján ONDREJ (SAL)) +Use virtio_blk by default. It's faster and more natural. +Unfortunately it seems like this will rename all devices - see next +item. + +---------------------------------------------------------------------- + +"Device independent" naming for devices. + +With a Fedora-based appliance, using libata driver, devices have +"SCSI" names like /dev/sda. -We should provide a way to stream partitions in and out. +With an EPEL-based appliance, using old ide driver, devices have names +like /dev/hda. -Thus: +If we use virtio_blk, devices will have names like /dev/vda. -dd-out /dev/sda1 > [some file] +What a mess. + +So the idea would be to add a device independent naming scheme, such +as the one used by grub: + + "(hdX)" X = 0 means 'a', X = 1 means 'b' and so on. + "(hdX,Y)" Device X, partition Y (in grub, this counts from 0 which is + deeply confusing). + +There would have to be a very simple rule. If guestfsd was expecting +a /dev block device or partition name, then the alternate form can be +used, and we would just look it up using the normal output of +guestfs_list_devices. + +Maybe best is to use /dev/sda as the "standard" naming. That +shouldn't cause conflicts in the appliance because we tightly control +what drivers are available. + +Note there's a lot of hackery that currently exists in tests.c which +could be *removed* if we made this change. + +Open: Should the substitution be done in the library layer or in the +daemon? + +---------------------------------------------------------------------- -dd-in /dev/sda1 < [some file] +Qemu options -- After discussion with the KVM developers, they have +recommended some flags which will improve the safety and reliability +of KVM. Need to test that these also work under qemu (or at least, do +no harm): -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. +-no-hpet HPET support is broken and should be disabled. -Another useful feature would be to allow rsync to/from a stream for -whole filesystems and subdirectories. +-rtc-td-hack Keeps the rtc clock source track time correctly. -The current protocol is message-oriented and doesn't support -streaming. But it's simple enough that we could add this. +-drive file=...,if=[ide|virtio],cache=off + cache=off is necessary to improve reliability in the + event of a system crash when writing.