summaryrefslogtreecommitdiff
path: root/TODO
blob: 020e6ea0ddbebb2ee90474b2dbb61a8866df778b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
libblkid
--------

 - remove strerrr() from debug messages (use %m) to make BLKID_DEBUG= output
   thread-safe

 - 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 values:

	FSSIZE   -- filesystem size (klibc requirement)

 - add reference counters to the binary interfaces. Currently, all chain 
   data are allocated in blkid_probe and cannot be used independently on 
   the probing stuff.

	blkid_topology tp = blkdi_probe_get_topology(pr)

	blkid_ref(tp);
	...
	blkid_unref(tp);

blkid(8)
  
  - add a new option (-r) that allows to print removable block devices that
    are missing in /proc/partitions, see blkid_probe_all_removable().

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.

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

 * 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

 * add GPT support

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

 * partx: add to it an option to make it usable in shell scripts without having
   to parse its output with sed

 * use ngettext() for strings with plurals, for example

    /* include/nls.h */
    #define P_(id, id_plural, n)	ngettext(id, id_plural, n)

    printf(P_("%d used sector",
              "%d used sectors", sectors),
              sectors);

 * check for program_invocation_short_name in ./configure.ac and add 
   lib/progname.c fallback for libc without this feature (for example
   use the 1st field from /proc/#/cmdline)

 * use something better than gtk-doc (doxyden?)

 * partx: copy sun.c, mac.c and dash.c from kpartx
   git://git.kernel.org/pub/scm/linux/storage/multipath-tools/.git

 * swapon -s  -- LABELs support

   Although mkswap has recently been -L option to create a label nothing appears to
   have been change to swapon to display said labels. (rh#430386)

 * use TZ=UTC for tests

 * add NLS and err.h stuff to schedutils (chrt.c, taskset.c)

 * add mllockall() and SCHED_FIFO to hwclock,
   see http://lkml.org/lkml/2008/10/12/132
 
 * use rpmatch() for all Y/N questions

 * make chrt, taskset, ... threads aware. Currently these utils work with
   group leader (master thread) and don't propagate requested changes to 
   the whole group of threads.  It meas add a new option (e.g. -t):

	chrt <prio> <pid>     # master thread only
        chrt -t <prio> <pid>  # whole group of threads

  Note that we need to scan /proc and call ched_set{scheduler,affinity}
  syscalls for all individual threads.

 * umount by label:
	# mount LABEL=mylabel
	# umount LABEL=mylabel

 * 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)

 * agetty: use nl_langinfo() for days and months rather than hardcoded
   English names.

 * rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls
   (there are problems with 32bit userspace on 64bit kernel)

 * minix v3

	From: Matthias Koenig <mkoenig@suse.de>
	Date:   Tue, 25 Sep 2007 12:00:01 +0200

	It seems that the kernel has support for minix fs v3
	(though I have not tried it, just inspected some code when
	trying to find a mkfs.minix issue).
	It might be worth a thought implementing v3 support
	(though I am not really sure how much people us minix fs ;-)
	This might require some major code cleanup in mkfs.minix.

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