summaryrefslogtreecommitdiff
path: root/Documentation/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/TODO')
-rw-r--r--Documentation/TODO239
1 files changed, 239 insertions, 0 deletions
diff --git a/Documentation/TODO b/Documentation/TODO
new file mode 100644
index 0000000..a646127
--- /dev/null
+++ b/Documentation/TODO
@@ -0,0 +1,239 @@
+
+ Note that items with (!) have high priority.
+
+lscpu
+-----
+ - detect more hypervisors, see 'virt-what' shell script
+ http://people.redhat.com/~rjones/virt-what/
+
+losetup
+-------
+ - add new option --list and --output <columns> to print details about
+ one or all (-a) devices by lib/tt.c output. For example people hate
+ the hex devno in the default output.
+
+dmesg
+-----
+
+ - add --color to colorize err and panic messages
+
+hwclock
+-------
+
+ - (!!!) add "hwclock -c|--compare" to provide info about RTC frequency offset
+ like "adjtimex -c", shell version:
+
+ #!/bin/bash
+ date > /dev/null
+ hwdate=$(hwclock -r)
+ time1_sys=$(date +'%s.%N')
+ time1_hw=$(date -d "${hwdate% -*}" +'%s')
+
+ while sleep 10; do
+ hwdate=$(hwclock -r)
+ time2_sys=$(date +'%s.%N')
+ time2_hw=$(date -d "${hwdate% -*}" +'%s')
+ awk "END { x = (($time1_hw - $time1_sys) - ($time2_hw - $time2_sys)) /
+ ($time2_hw - $time1_hw); printf \"sysclock/RTC frequency offset: %.0f ppm (%.0f
+ ticks)\n\", x * 1e6, x * 1e4}" < /dev/null
+ done
+
+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)
+
+ - add x-mount-mkdir mount option to libmount to allow "mkdir /mountpoint"
+
+ - 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().
+
+ - add ---target-prefix option to specify prefix for mountpoints
+ so then you can
+
+ mount --fstab=/etc/fstab.sandbox -a --target-prefix=/mnt/sandbox
+
+ to create a new hierarchy of filesystems at sandbox
+
+ - umount by label:
+ # mount LABEL=mylabel
+ # umount LABEL=mylabel
+
+
+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
+----
+
+ - switch_root:
+ - move all mountpoints to the newroot (there are hardcoded /proc /sys and /dev paths now)
+ - add --dont-move[=<list of dirs>] options
+
+ - use TZ=UTC
+
+ - add mllockall() and SCHED_FIFO to hwclock,
+ see http://lkml.org/lkml/2008/10/12/132
+
+ - (!) rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls
+ (there are problems with 32bit userspace on 64bit kernel)
+
+
+---------------
+exotic requests
+---------------
+
+ - mount -a -- reorder fstab entries by paths before mount (just idea only)
+
+ - mount -a (just idea only)
+
+ Date: Sun, 3 Jun 2007 18:04:24 +0300 (MET DST)
+ From: Szabolcs Szakacsits <szaka@sienet.hu>
+
+ In the past the right record order could be figured out easily by just
+ checking out fstab (if one knew what to look for) but considering the
+ fastly increasing number of user space file systems and their usage, with
+ their path, library, etc dependencies, it's getting trickier and is a black
+ magic for most users because they simply expect drives to be mounted
+ independently of their order in fstab.
+
+ One typical, wrongly edited fstab example is:
+
+ /dev/hda2 / ext3 defaults 1 1
+ /dev/hda1 /mnt/windows ntfs-3g defaults 0 0
+ /dev/hda3 /usr ext3 defaults 0 0
+
+ The events:
+
+ mount -> /sbin/mount.ntfs-3g ->
+ -> resolves to <path1>/ntfs-3g via a symlink ->
+ -> ntfs-3g requires at least <path2>/libfuse*
+
+ There are many potential solutions. For example installing everything on
+ the root file system which may be needed for successful mount. But this
+ is not always feasible or practical since we could end up putting almost
+ everything on the root file system in the end.
+
+ Another idea is an improved mount strategy:
+
+ do {
+ try to mount all unmounted entries
+ } while (not all mounted && at least one new was successfully mounted)
+
+
+ - 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.
+
+