blob: cab1ff7865a042eb5720e29844f4dd369e45f310 [file] [log] [blame]
Note that items with (!) have high priority.
dmesg
-----
- add --follow option
http://www.spinics.net/lists/util-linux-ng/msg04453.html
- add --color to colorize err and panic messages
ldattach
--------
- write usage()
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 mount/umount
implementation in the libmount/samples/ directory.
- (!) 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 libmount based umount(8) (see libmount/samples/ where is new mount(8)
implementation.
- (!) add --source and --target options to specify device and mountpoint
fstab:
/dev/sda1 /foo auto defaults 0 0
/foo /mnt auto bind 0 0
command line:
mount -o remount,ro /foo
... this command is ambiguous. It would be better to have a way how specify
target or source:
mount --target /foo -o remount,ro
Note that findmnt(8) already supports --target and --source.
- add ---target-prefix option to specify prefix for mountpoints
so then you can
LIBMOUNT_FSTAB=/etc/fstab.foo mount -a --target-prefix=$FOO_ROOT
to create a new hierarchy of filesystems at $FOO_ROOT.
- umount by label:
# mount LABEL=mylabel
# umount LABEL=mylabel
losetup
-------
- (!!!) use new lib/sysfs.c code for losetup(8), the new implementation should
be moved to sys-utils/losetup.c.
- (!!!) add support for LOOP_CTL_ ioctls (probably will be in kernel 3.1 or 3.2)
libblkd and libmountL
----------------------------
- use __attribute__((notnull)) and __attribute__((warn_unused_result))
Note that the code has to be usefull for non-gcc compilers too.
partx
-----
- (!) add support loop devices:
partx -a /path/file.img
* associate the file with loop device (use lib/loopdev.c)
* map partitions by BLKPG_ADD_PARTITION
- 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
- add Documentation/ directory with:
- man page template
- usage() HOW-TO
- move README.devel to the Documentation/
build-sys
--------
- use non-recursive build-sys, see
http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/3297
- we use something like
AC_ARG_ENABLE(...., enable_foo=check)
build_foo=yes
if test "x$enable_foo" = xcheck; then
if test "x$linux_os" = xno; then
build_foo=no
fi
fi
AM_CONDITIONAL(BUILD_FOO, test "x$build_foo" = xyes)
for Linux-only utils in configure.ac. It would be nice to set all defaults
for all "$enable_" variables at the begin of the configure script according to
$linux_os. Something like:
if test "x$linux_os" = xno
enable_mount=no
enable_libmount=no
enable_lsblk=no
fi
then we can remove all "if test "x$enable_foo" = xcheck;" stuff from the rest
of the configure script.
- it would be nice to remove all "if BUILD_LIB{MOUNT,BLKID,UUID}" from the
Makefiles (e.g. misc-utils/Makefile.am) and use BUILD_<utilname> only
The configure.ac has to care about dependence between utils and librares and
enable BUILD_<utilname>.
lib/tt.c
--------
- allows to sort columns, for example sort lsblk(8) output by SIZE
login-utils:
-----------
- use err() and warn() macros rather than fprintf(stderr, ...)
libblkid
--------
- remove strerrr() from debug messages (use %m) to make BLKID_DEBUG= output
thread-safe
- (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t,
stdint.h types and so on...
- add -<BE|LE> suffix to test images for native-endian filesystems (e.g. swap)
and add support for such functionality to tests/ts/blkid/low-probe
- add FSSIZE value -- filesystem size (klibc requirement)
- (!) add support for dasd PT (used for example on s390)
- (!!!) support PARTUUID= tag
* the partitions probing is already supported by low-level part of the
library, but it's necessary add support for this tag also to high-level
blkid_cache and blkid_evaluate_* APIs
* add blkid -P <PARTUUID>
* add PARTUUID to wipefs output
wipefs
------
- some filesystem (namely FAT) contains more magic strings, so if you erase
one magic string the FS is still detectable by libblkid. We have to inform
users that there is more valid magic string for the same FS.
- (!!!) allow to wipe partition tables
fdisk(s)
--------
- 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 has to use rpmatch() for answers to y/n questions
(e.g. "Are you satisfied with this? [ynq]")
- 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 and LANG=en_US.UTF-8 for tests
- add mllockall() and SCHED_FIFO to hwclock,
see http://lkml.org/lkml/2008/10/12/132
- use rpmatch() for all Y/N questions
---------------
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)
- rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls
(there are problems with 32bit userspace on 64bit kernel)
- 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.