| |
| 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. |
| |
| |