summaryrefslogblamecommitdiffstats
path: root/Documentation/TODO
blob: 50c95191e450d10653277b30c9ffabefd69befc4 (plain) (tree)
1
2
3
4
5
6
7
8
 
                                             
 




                                                         




                                                  

                       
 
                                                                             









                                                                                    
 











                                                                         







                                                                              

                    

                                                                       
                                                                 
 


     

                                                                                  








                                                                             
 
 




                                                                   


            
                                     
 

        
 

                                                                             


                                                                            
                                                           
 
                                                         
 


        




                                                                       
                                                                             


                                                                        
                                                                           

                                                                                
                                                                             



                                                                             
                                
 
                                                 







                                                                                
                                                        
 
                                                    



    
                                             

                                          




               
                                                              






                                                                                

 Note that items with (!) have high priority.

lscpu
-----
  - detect more hypervisors, see 'virt-what' shell script
    http://people.redhat.com/~rjones/virt-what/

minix (fsck, mkfs)
------------------

 - clean up types -- use ino_t, size_t and ssize_t

libmount (mount/umount)
-----------------------

 Note that the old mount/[u]mount.c code is in MAINTENANCE MODE only. All new
 features should be implemented to libmount or to the new sys-utils/{mount,umount}.c
 utils.

 - add options to control fstab/mtab mount options usage, something like:

   --options-mode={ignore,append,prepend,replace}      MNT_OMODE_{IGNORE, ...}
   --options-source={fstab,mtab,disable}               MNT_OMODE_{FSTAB,MTAB,NOTAB}
   --options-source-force                              MNT_OMODE_FORCE

   (all this already supported by libmount)

 - support MS_PROPAGATION flags in fstab -- note that kernel assumes that
   these flags are not mixed with another mount flags, it means that:

	/dev/sda1	/mnt/foo	auto 	ro,shared

   has be implemented by two syscalls:

	mount("/dev/sda1", "/mnt/foo", "ext4", MS_RDONLY, NULL);
	mount(NULL, "/mnt/foo", "none", MS_REMOUNT|MS_SHARED, NULL);

   yeah, there is race ;-(

 - (!) on systems with regular mtab file it is impossible to umount by "umount
   /dev/loop0" if the loop device has been created by "mount -o loop", because
   there is backing file in the mtab (instead of the device name). 

   Now we have all necessary information in /sysfs so it should be possible to
   translate the device name to backing file and then search in mtab for the 
   filename. See loopdev_get_loopfile().

libblkd and libmount
--------------------

 - use __attribute__((notnull)) and __attribute__((warn_unused_result))
   Note that the code has to be useful for non-gcc compilers too.

partx
-----

 - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
     
 - (!) add regression tests for partx, addpart and delpart


docs
----

 - (!) use something better than gtk-doc for libmount and libblkid (doxyden?)

 - (!) add API documentation to libuuid


lib/tt.c
--------

 - allows to sort columns, for example sort lsblk(8) output by SIZE

login-utils:
-----------

 - (!) merge newgrp from shadow-utils

libblkid
--------

 - improve DBG() debug macro, see new imeplemntation in libmount/src/mountP.h

 - (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t,
       stdint.h types and so on...

 - add FSSIZE value  -- filesystem size (klibc requirement)

 - (!) add support for dasd PT (used for example on s390)

fdisk(s)
--------

 - add to "First sector" dialog a line with information about available
   gaps (free areas) to make it more user friendly if you want to skip
   any useless (small) areas between existing partitions. 
   See https://bugzilla.redhat.com/show_bug.cgi?id=715114

 - add "move end" command to move end of the last primary/extended partition.
   This feature seems very attractive to users who resizing their disks 
   (for example in virtual machines).

 - sfdisk rounds to cylinders is -uM (megabyte units) is specified, this is
   pretty stupid feature. It has to round to sectors if -uS or -uM is specified.

 - Sun label support is completely useless for large disks, it uses number of
   cylinders from on-disk-label where the geometry is stored by int16 values.
   It seems better to completely ignore this stuff from the label and always
   use geometry + BLKGETSIZE64 from kernel.

 - use off_t instead "long long"

 - catch SIGINT (Ctrl-C) and return to main menu.
   From Red Hat bugzilla #545488:

   While using fdisk normally, if you accidentally pressed the wrong button (to
   start a sequence of questions for some operation, e.g. 'c' to create
   partition).  The tool tries too hard to keep asking you for valid input.  You
   can't provide a blank or invalid input to get it to break out of the current
   dialog sequence and get back to the main menu.

 - fdisk/* refactoring (probably implement libfdisk ???)

 - add GPT support (probably implement libfdisk ???)

misc
----

 - add mllockall() and SCHED_FIFO to hwclock,
   see http://lkml.org/lkml/2008/10/12/132
 

---------------
exotic requests
---------------

 - add SELinux security contexts support to the 'ipcs' utility
   http://bugzilla.redhat.com/show_bug.cgi?id=225342

   Would be great to list the current system IPC Objects with their respective
   security labels (where allowed) with something like 'ipcs -Z' - following the
   way other tools reports those.