build: Remove install_kernel from EXTRA_DIST.
[libguestfs.git] / TODO
diff --git a/TODO b/TODO
index 24c0171..2b5821a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,12 +6,6 @@ to libguestfs in future.
 
    - RWMJ
 
-Python bindings
----------------
-
-Ideas for the Python bindings:
-https://www.redhat.com/archives/fedora-virt/2009-April/msg00114.html
-
 FUSE API
 --------
 
@@ -23,15 +17,6 @@ IDs and the host.  It's not easy to automate this because you need
 extra details about the guest itself in order to get to its
 UID->username map (eg. /etc/passwd from the guest).
 
-BufferIn
---------
-
-BufferIn should turn into <char *, int> 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
-
 febootstrap / debootstrap inside appliance
 ------------------------------------------
 
@@ -100,23 +85,6 @@ 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
-------------
-
-[This section should be filed as bugs, but no one seems to care for
-PPC hosts and the hardware is rapidly becoming obsolete]
-
-  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 to febootstrap
 ---------------------------------
 
@@ -127,7 +95,6 @@ Ideas for extra commands
 
   General glibc / core programs:
     chgrp
-    dd (?)
     more mk*temp calls
 
   ext2 properties:
@@ -143,6 +110,7 @@ Ideas for extra commands
     findfs
     logsave
     mklost+found
+    ext2undelete
 
   SELinux:
     chcat
@@ -236,16 +204,6 @@ ntfsclone
 Useful imaging tool:
 http://man.linux-ntfs.org/ntfsclone.8.html
 
-Standard images
----------------
-
-Equip guestfish with some standard images that it can load
-quickly, eg:
-
-  load ext2
-
-Maybe it's better to create these on the fly?
-
 virt-rescue pty
 ---------------
 
@@ -256,25 +214,12 @@ http://www.perlmonks.org/index.pl?node_id=582185
 Note that pty requires cooperation inside the C code too (there are
 two sides to a pty, and one has to be handled after the fork).
 
-virt-rescue TERM
-----------------
-
-Pass TERM from the library, through the kernel command line, to the
-init script.
-
 Windows-based daemon/appliance
 ------------------------------
 
 See discussion on list:
 https://www.redhat.com/archives/libguestfs/2009-November/msg00165.html
 
-virt-grow, virt-shrink
-----------------------
-
-Grow and shrink existing guests.  The main problem comes with
-MBR-style partitions where you have to actually copy data around the
-disk (unless you only want to change the final partition).
-
 qemu locking
 ------------
 
@@ -295,4 +240,55 @@ anything in a disk image.
 
 However this won't work easily for VM disk images in the disk image.
 One would have to download those to the host and launch another
-libguestfs instance.
\ No newline at end of file
+libguestfs instance.
+
+List, mount filesystems by UUID and label
+-----------------------------------------
+
+[See related:
+http://www.redhat.com/archives/libguestfs/2009-August/msg00031.html]
+
+List filesystems by UUID or label.
+
+Mount filesystems by UUID or label.  (I'm not really sure if we can do
+this at the moment but we ought to be able to do it, and perhaps make
+it easier by having a direct command).
+
+Map filesystems to disk blocks
+------------------------------
+
+Map files/filesystems/(any other object) to the actual disk
+blocks they occupy.
+
+And vice versa.
+
+Is it even possible?
+
+Integration with host intrusion systems
+---------------------------------------
+
+Perfect way to monitor VMs from outside the VM.  Look for file
+hashes, log events, login/logout etc.
+
+http://www.ossec.net/
+http://la-samhna.de/samhain/
+http://sourceforge.net/projects/aide/
+http://osiris.shmoo.com/
+http://sourceforge.net/projects/tripwire/
+
+Resizing, shrinking, specifying sizes in guestfish
+--------------------------------------------------
+
+Owing to an oversight we don't really supporting shrinking
+filesystems.  See:
+
+https://bugzilla.redhat.com/show_bug.cgi?id=585221
+https://bugzilla.redhat.com/show_bug.cgi?id=585222
+https://bugzilla.redhat.com/show_bug.cgi?id=585223
+
+But a related problem is how to specify sizes to guestfish, ie. "100M"
+or "1G".  Currently the specific alloc and sparse functions contain
+code to parse these size strings, but that cannot be used anywhere
+else that would take a byte count.  This is awkward because some
+commands take units of megabytes (lvresize, sfdiskM) or sectors
+(part-add), with no unifying theme.