]>
Commit | Line | Data |
---|---|---|
0cbeee27 KZ |
1 | |
2 | lscpu | |
3 | ----- | |
4 | ||
5 | - add -o <list> to speficy output columns for -p options. | |
6 | (the same thing we use for findmnt, lsblk, ...) | |
7 | ||
7ef8c5bc KZ |
8 | dmesg |
9 | ----- | |
10 | ||
11 | - add -f (follow) option | |
12 | http://www.spinics.net/lists/util-linux-ng/msg04453.html | |
13 | ||
01df6eeb KZ |
14 | mount |
15 | ----- | |
16 | ||
d53fc4b3 KZ |
17 | (features for new libmount based implemenation) |
18 | ||
01df6eeb KZ |
19 | - add support for "x-" namespace for mount options. All options with "x-" |
20 | prefix should be ignored. | |
21 | ||
22 | For example x-systemd=, x-upstart-foo, x-libmount-debug=0xffff, ... | |
23 | ||
24 | It's definitely better to have a generic way how ignore some options than | |
25 | use comment= for all things. | |
26 | ||
7312c4ad KZ |
27 | - add --source and --target options to specify device and mountpoint |
28 | ||
29 | fstab: | |
30 | /dev/sda1 /foo auto defaults 0 0 | |
31 | /foo /mnt auto bind 0 0 | |
32 | command line: | |
33 | mount -o remount,ro /foo | |
34 | ||
35 | ... this command is ambiguous. It would be better to have a way how specify | |
36 | target or source: | |
37 | ||
38 | mount --target /foo -o remount,ro | |
39 | ||
40 | Note that findmnt(8) already supports --target and --source. | |
41 | ||
d53fc4b3 | 42 | - add ---target-prefix option to specify prefix for mountpoints |
d53fc4b3 KZ |
43 | so then you can |
44 | ||
9b07eb92 | 45 | LIBMOUNT_FSTAB=/etc/fstab.foo mount -a --target-prefix=$FOO_ROOT |
d53fc4b3 KZ |
46 | |
47 | to create a new hierarchy of filesystems at $FOO_ROOT. | |
48 | ||
28297408 KZ |
49 | partx |
50 | ----- | |
51 | ||
4231bffe KZ |
52 | - add support loop devices: |
53 | ||
54 | partx -a /path/file.img | |
55 | ||
56 | * associate the file with loop device (use lib/loopdev.c) | |
57 | * map partitions by BLKPG_ADD_PARTITION | |
58 | ||
59 | - support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used. | |
60 | ||
28297408 KZ |
61 | - add regression tests for partx, addpart and delpart |
62 | ||
4231bffe | 63 | |
a2b3d040 KZ |
64 | build-sys |
65 | -------- | |
66 | ||
67 | - we use something like | |
68 | ||
69 | AC_ARG_ENABLE(...., enable_foo=check) | |
70 | build_foo=yes | |
71 | if test "x$enable_foo" = xcheck; then | |
72 | if test "x$linux_os" = xno; then | |
73 | build_foo=no | |
74 | fi | |
75 | fi | |
76 | AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_foo" = xyes) | |
77 | ||
78 | for Linux-only utils in configure.ac. It would be nice to set all defaults | |
19a9d0b7 | 79 | for all "$enable_" variables at the begin of the configure script according to |
a2b3d040 KZ |
80 | $linux_os. Something like: |
81 | ||
82 | if test "x$linux_os" = xno | |
83 | enable_mount=no | |
84 | enable_libmount=no | |
85 | enable_lsblk=no | |
86 | fi | |
87 | ||
88 | then we can remove all "if test "x$enable_foo" = xcheck;" stuff from the rest | |
89 | of the configure script. | |
90 | ||
91 | - it would be nice to remove all "if BUILD_LIB{MOUNT,BLKID,UUID}" from the | |
92 | Makefiles (e.g. misc-utils/Makefile.am) and use BUILD_<utilname> only | |
93 | ||
94 | The configure.ac has to care about dependence between utils and librares and | |
95 | enable BUILD_<utilname>. | |
96 | ||
19a9d0b7 KZ |
97 | lib/tt.c |
98 | -------- | |
99 | ||
100 | - allows to sort columns, for example sort lsblk(8) output by SIZE | |
101 | ||
a4f4cc75 KZ |
102 | login-utils: |
103 | ----------- | |
104 | ||
a4f4cc75 KZ |
105 | - use err() and warn() macros rather than fprintf(stderr, ...) |
106 | ||
b61e9390 KZ |
107 | losetup |
108 | ------- | |
109 | ||
110 | - don't use ioclts if sysfs supports loop attributes (since 2.6.37, | |
111 | block/loopN/loop/* files) | |
112 | ||
113 | - don't open loopdev in looplist_next(), check if /sys/block/loopN/loop | |
114 | exists and returns ll.name rather than file descriptor | |
115 | ||
116 | - add sysfs based version of show_loop() and use it for non-root users | |
117 | ||
19a9d0b7 | 118 | - move all loopdev code to libmount |
b61e9390 | 119 | |
b61e9390 | 120 | |
def04d47 KZ |
121 | shlib (libblkd and libmount): |
122 | ---------------------------- | |
123 | ||
19a9d0b7 | 124 | - use __attribute__((notnull)) and __attribute__((warn_unused_result)) |
def04d47 KZ |
125 | Note that the code has to be usefull for non-gcc compilers too. |
126 | ||
a24f0ade KZ |
127 | libblkid |
128 | -------- | |
5d5ae40b | 129 | |
36e0066b KZ |
130 | - remove strerrr() from debug messages (use %m) to make BLKID_DEBUG= output |
131 | thread-safe | |
132 | ||
a24f0ade KZ |
133 | - add -<BE|LE> suffix to test images for native-endian filesystems (e.g. swap) |
134 | and add support for such functionality to tests/ts/blkid/low-probe | |
5c94bacb | 135 | |
28fed5d6 | 136 | - add FSSIZE value -- filesystem size (klibc requirement) |
a24f0ade | 137 | |
28fed5d6 | 138 | - add support for dasd PT (used for example on s390) |
f2813fce | 139 | |
8b467e7d KZ |
140 | - support PARTUUID= tag |
141 | ||
142 | * the partitions probing is already supported by low-level part of the | |
143 | library, but it's necessary add support for this tag also to high-level | |
144 | (blkid_cache) API. | |
145 | ||
146 | * add blkid -P <PARTUUID> | |
147 | ||
435c73ec KZ |
148 | wipefs |
149 | ------ | |
150 | ||
151 | - some filesystem (namely FAT) contains more magic strings, so if you erase | |
152 | one magic string the FS is still detectable by libblkid. We have to inform | |
153 | users that there is more valid magic string for the same FS. | |
154 | ||
a24f0ade KZ |
155 | fdisk(s) |
156 | -------- | |
157 | ||
d8fb986b KZ |
158 | * add "move end" command to move end of the last primary/extended partition. |
159 | This feature seems very attractive to users who resizing their disks | |
160 | (for example in virtual machines). | |
161 | ||
574a9bc9 KZ |
162 | * sfdisk has to use rpmatch() for answers to y/n questions |
163 | (e.g. "Are you satisfied with this? [ynq]") | |
164 | ||
f2813fce KZ |
165 | * sfdisk rounds to cylinders is -uM (megabyte units) is specified, this is |
166 | pretty stupid feature. It has to round to sectors if -uS or -uM is specified. | |
167 | ||
4d6cb488 KZ |
168 | * Sun label support is completely useless for large disks, it uses number of |
169 | cylinders from on-disk-label where the geometry is stored by int16 values. | |
170 | It seems better to completely ignore this stuff from the label and always | |
171 | use geometry + BLKGETSIZE64 from kernel. | |
172 | ||
a24f0ade KZ |
173 | * use off_t instead "long long" |
174 | ||
ef5d1feb KZ |
175 | * catch SIGINT (Ctrl-C) and return to main menu. |
176 | From Red Hat bugzilla #545488: | |
177 | ||
178 | While using fdisk normally, if you accidentally pressed the wrong button (to | |
179 | start a sequence of questions for some operation, e.g. 'c' to create | |
180 | partition). The tool tries too hard to keep asking you for valid input. You | |
181 | can't provide a blank or invalid input to get it to break out of the current | |
182 | dialog sequence and get back to the main menu. | |
183 | ||
a24f0ade KZ |
184 | * fdisk/* refactoring |
185 | ||
779d6a1b | 186 | * add GPT support (probably implement libfdisk) |
a24f0ade KZ |
187 | |
188 | misc | |
189 | ---- | |
190 | ||
81d55724 KZ |
191 | * switch_root: |
192 | - move all mountpoints to the newroot (there are hardcoded /proc /sys and /dev paths now) | |
193 | - add --dont-move[=<list of dirs>] options | |
194 | ||
e1f2853a KZ |
195 | * use ngettext() for strings with plurals, for example |
196 | ||
197 | /* include/nls.h */ | |
198 | #define P_(id, id_plural, n) ngettext(id, id_plural, n) | |
199 | ||
200 | printf(P_("%d used sector", | |
201 | "%d used sectors", sectors), | |
202 | sectors); | |
203 | ||
8179a658 | 204 | * use something better than gtk-doc (doxyden?) |
3d24cec1 | 205 | |
28fed5d6 | 206 | * use TZ=UTC and LANG=en_US.UTF-8 for tests |
74a9c6f7 | 207 | |
a24f0ade KZ |
208 | * add mllockall() and SCHED_FIFO to hwclock, |
209 | see http://lkml.org/lkml/2008/10/12/132 | |
210 | ||
d3bb3bc8 | 211 | * use rpmatch() for all Y/N questions |
f93a4afd | 212 | |
a830e5b3 KZ |
213 | * umount by label: |
214 | # mount LABEL=mylabel | |
215 | # umount LABEL=mylabel | |
216 | ||
19a9d0b7 KZ |
217 | |
218 | --------------- | |
219 | exotic requests | |
220 | --------------- | |
221 | ||
d3bb3bc8 KZ |
222 | * mount -a -- reorder fstab entries by paths before mount (just idea only) |
223 | ||
224 | * mount -a (just idea only) | |
8b0f4ae9 | 225 | |
883fff9f KZ |
226 | Date: Sun, 3 Jun 2007 18:04:24 +0300 (MET DST) |
227 | From: Szabolcs Szakacsits <szaka@sienet.hu> | |
8b0f4ae9 | 228 | |
883fff9f KZ |
229 | In the past the right record order could be figured out easily by just |
230 | checking out fstab (if one knew what to look for) but considering the | |
231 | fastly increasing number of user space file systems and their usage, with | |
232 | their path, library, etc dependencies, it's getting trickier and is a black | |
233 | magic for most users because they simply expect drives to be mounted | |
234 | independently of their order in fstab. | |
31cc369d | 235 | |
883fff9f | 236 | One typical, wrongly edited fstab example is: |
8b0f4ae9 | 237 | |
883fff9f KZ |
238 | /dev/hda2 / ext3 defaults 1 1 |
239 | /dev/hda1 /mnt/windows ntfs-3g defaults 0 0 | |
240 | /dev/hda3 /usr ext3 defaults 0 0 | |
8b0f4ae9 | 241 | |
883fff9f | 242 | The events: |
1c51a368 | 243 | |
883fff9f KZ |
244 | mount -> /sbin/mount.ntfs-3g -> |
245 | -> resolves to <path1>/ntfs-3g via a symlink -> | |
246 | -> ntfs-3g requires at least <path2>/libfuse* | |
247 | ||
248 | There are many potential solutions. For example installing everything on | |
249 | the root file system which may be needed for successful mount. But this | |
250 | is not always feasible or practical since we could end up putting almost | |
251 | everything on the root file system in the end. | |
252 | ||
253 | Another idea is an improved mount strategy: | |
254 | ||
255 | do { | |
256 | try to mount all unmounted entries | |
257 | } while (not all mounted && at least one new was successfully mounted) | |
09dd84ca | 258 | |
669eecf3 KZ |
259 | * rewrite ipcs to use /proc/sys/kernel rather than unreliable syscalls |
260 | (there are problems with 32bit userspace on 64bit kernel) | |
261 | ||
262 | * minix v3 | |
263 | ||
264 | From: Matthias Koenig <mkoenig@suse.de> | |
265 | Date: Tue, 25 Sep 2007 12:00:01 +0200 | |
266 | ||
267 | It seems that the kernel has support for minix fs v3 | |
268 | (though I have not tried it, just inspected some code when | |
269 | trying to find a mkfs.minix issue). | |
270 | It might be worth a thought implementing v3 support | |
271 | (though I am not really sure how much people us minix fs ;-) | |
272 | This might require some major code cleanup in mkfs.minix. | |
d3bb3bc8 | 273 | |
8da18ddb KZ |
274 | * add SELinux security contexts support to the 'ipcs' utility |
275 | http://bugzilla.redhat.com/show_bug.cgi?id=225342 | |
276 | ||
277 | Would be great to list the current system IPC Objects with their respective | |
278 | security labels (where allowed) with something like 'ipcs -Z' - following the | |
279 | way other tools reports those. | |
280 | ||
281 |