du: Add pulse mode progress messages.
[libguestfs.git] / TODO
diff --git a/TODO b/TODO
index ee431d2..b618ac0 100644 (file)
--- a/TODO
+++ b/TODO
@@ -103,7 +103,6 @@ Ideas for extra commands
     findfs
     logsave
     mklost+found
     findfs
     logsave
     mklost+found
-    ext2undelete
 
   SELinux:
     chcat
 
   SELinux:
     chcat
@@ -190,12 +189,6 @@ autogenerated module which creates a Sys::Guestfs handle singleton
 
 How would editing files work?
 
 
 How would editing files work?
 
-ntfsclone
----------
-
-Useful imaging tool:
-http://man.linux-ntfs.org/ntfsclone.8.html
-
 virt-rescue pty
 ---------------
 
 virt-rescue pty
 ---------------
 
@@ -206,6 +199,10 @@ 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).
 
 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).
 
+[I tried to implement this in the new C virt-rescue, but it doesn't
+work.  qemu is implementing its own ptys, and they are broken.  Need
+to fix qemu.]
+
 Windows-based daemon/appliance
 ------------------------------
 
 Windows-based daemon/appliance
 ------------------------------
 
@@ -234,6 +231,8 @@ 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.
 
 One would have to download those to the host and launch another
 libguestfs instance.
 
+[Not sure this is such a good idea.  See also live CD inspection idea below.]
+
 Map filesystems to disk blocks
 ------------------------------
 
 Map filesystems to disk blocks
 ------------------------------
 
@@ -264,16 +263,6 @@ Fix 'file'
 https://www.redhat.com/archives/libguestfs/2010-June/msg00053.html
 https://www.redhat.com/archives/libguestfs/2010-June/msg00079.html
 
 https://www.redhat.com/archives/libguestfs/2010-June/msg00053.html
 https://www.redhat.com/archives/libguestfs/2010-June/msg00079.html
 
-Regression test on virt-inspector
----------------------------------
-
-Occasionally we break virt-inspector through some change.  We should
-add a regression test for it.  However this is hard because we'd need
-to avoid having to carry huge images.
-
-Update: I managed to fit a real-but-minimal Fedora 13 image into 6.2 MB.
-See: http://rwmj.wordpress.com/2010/09/07/tip-pack-files-into-a-new-disk-image/#content
-
 Freeze/thaw filesystems
 -----------------------
 
 Freeze/thaw filesystems
 -----------------------
 
@@ -319,7 +308,6 @@ Currently LUKS support only works if the device contains volume
 groups.  If it contains, eg., partitions, you cannot access them.
 We would like to add:
 
 groups.  If it contains, eg., partitions, you cannot access them.
 We would like to add:
 
-  - An easier way to use this from guestfish.
   - Direct access to the /dev/mapper device (eg. if it contains
     anything apart from VGs).
 
   - Direct access to the /dev/mapper device (eg. if it contains
     anything apart from VGs).
 
@@ -376,9 +364,64 @@ parsing code, eg:
 % is better than $ because of shell escaping and confusion with shell
 variables.
 
 % is better than $ because of shell escaping and confusion with shell
 variables.
 
-live CD inspection
-------------------
+Can we combine this with ability to set and read environment
+variables?  Currently guestfish uses many environment variables like
+$EDITOR without any corresponding ability to set them.
+
+ set EDITOR /usr/bin/emacs
+ echo $EDITOR  # or %{EDITOR}
+ edit /etc/resolv.conf
+
+live CD inspection for Windows 7
+--------------------------------
+
+Windows 7 install CDs are quite different and pretty impenetrable.
+There are no obvious files to parse.
+
+More ntfs tools
+---------------
+
+ntfsprogs actually has a lot more useful tools than we currently
+use.  Interesting ones are:
+
+ntfslabel: display or change filesystem label (we should unify all
+  set*label APIs into a single set_vfs_label which can deal with any
+  filesystem)
+
+ntfsclone: clone, image, restore, rescue NTFS
+
+ntfsinfo: print various information about NTFS volume and files
+
+ntfs streams: extract alternate streams from NTFS files
+
+ntfsck: checker for NTFS filesystems
+
+Undelete files
+--------------
+
+Two useful tools:
+
+  - ext2undelete
+  - ntfsundelete
+
+More mkfs_opts options
+----------------------
+
+Useful options to offer:
+ - Set label.
+ - Set UUID.
+
+Use /proc/self/mountinfo
+------------------------
+
+This file contains lots of interesting information about
+what is mounted and where. eg:
 
 
-guestfish -i livecd.iso
+  16 21 0:3 / /proc rw,relatime - proc /proc rw
+  17 21 0:16 / /sys rw,relatime - sysfs /sys rw,seclabel
+  18 23 0:5 / /dev rw,relatime - devtmpfs udev rw,seclabel,size=1906740k,nr_inodes=476685,mode=755
+  26 21 253:3 / /home rw,relatime - ext4 /dev/mapper/vg-lv_home rw,seclabel,barrier=1,data=ordered
 
 
-Could this be done through the core API and existing calls?
+This could be used instead of current hairy code to parse the output
+of the 'mount' command.  We could add new APIs to return kernel mount
+options, type of filesystem at a mountpoint etc.