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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
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.
|