Docs: Add "API Overview" section to guestfs(3) manpage.
[libguestfs.git] / TODO
diff --git a/TODO b/TODO
index 0aeceb7..4133122 100644 (file)
--- a/TODO
+++ b/TODO
@@ -54,57 +54,6 @@ ie. CentOS 5.3, Fedora 11, Debian.
 
 ----------------------------------------------------------------------
 
-"Device independent" naming for devices.
-
-With a Fedora-based appliance, using libata driver, devices have
-"SCSI" names like /dev/sda.
-
-With an EPEL-based appliance, using old ide driver, devices have names
-like /dev/hda.
-
-If we use virtio_blk, devices will have names like /dev/vda.
-
-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?
-
-----------------------------------------------------------------------
-
-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):
-
--no-hpet      HPET support is broken and should be disabled.
-
--rtc-td-hack  Keeps the rtc clock source track time correctly.
-
--drive file=...,if=[ide|virtio],cache=off
-              cache=off is necessary to improve reliability in the
-             event of a system crash when writing.
-
-----------------------------------------------------------------------
-
 "Standalone/local mode"
 
 Instead of running guestfsd (the daemon) inside qemu, there should be
@@ -143,3 +92,87 @@ This is mainly useful from live CDs, ie. virt-p2v.
 
 Should we bother having the daemon at all and just link the guestfsd
 code directly into libguestfs?
+
+----------------------------------------------------------------------
+
+PPC problems:
+
+  ppc (32 bit) works with qemu from git, however there is no serial console
+
+  ppc64 requires extra parameters:
+    -M mac99 -cpu ppc64
+  however it still fails:
+    invalid/unsupported opcode: 01 - 01 - 1a (06301e83) 00000000018c2738 1
+    invalid bits: 00400000 for opcode: 0b - 19 - 15 (2d746572) 0000000000009230
+
+  no serial console in ppc or ppc64 because no one can tell us what
+  console=ttyXX option to use
+
+----------------------------------------------------------------------
+
+Supermin appliance should be moved into febootstrap.
+
+----------------------------------------------------------------------
+
+Extra commands / functionality:
+
+  General glibc / core programs:
+    chgrp
+    grep (do it locally using pipe?)
+    dd (?)
+    ln / ln -s
+    readlink
+    utime / utimes / futimes / futimens / l..
+    more mk*temp calls
+    some sort of alloc/fallocate/posix_fallocate call to create empty space
+    realpath
+    trunc[ate??]
+
+  ext2 properties:
+    chattr
+    lsattr
+    badblocks
+    blkid
+    debugfs
+    dumpe2fs
+    e2image
+    e2undo
+    filefrag
+    findfs
+    logsave
+    mklost+found
+
+  SELinux:
+    chcat
+    restorecon
+    ch???
+
+  Oddball:
+    pivot_root
+    fts(3) / ftw(3)
+
+----------------------------------------------------------------------
+
+Allow swap space from the guest to be used.  Is it a good idea?
+
+----------------------------------------------------------------------
+
+Need a way to query a binary or library file for its architecture.
+Using objdump or readelf?
+What about non-ELF files (eg. Windows, BSD).
+
+To do this properly requires some serious logic, eg. to cover Linux
+and Windows we'd need objdump and i686-pc-mingw32-objdump, and more to
+cover a.out, COFF and 64 bit Windows.  Therefore this cannot be done
+inside the daemon, and should be done by a separate, external program
+similar to virt-inspector.
+
+Probably we should go all the way and have virt-inspector able to
+determine kernel and userspace architectures of guests.
+
+----------------------------------------------------------------------
+
+Other initrd-* commands, such as:
+
+initrd-extract
+initrd-replace