chiark / gitweb /
src: our lord is coverity
[elogind.git] / TODO
1 F15:
2
3 * swap units that are activated by one name but shown in the kernel under another are semi-broken
4
5 * isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
6
7 * NFS, networkmanager ordering issue (PENDING)
8
9 * add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
10
11 * hook emergency.target into local-fs.target in some way as OnFailure with isolate
12
13 * save/restore tool for SysV as requested by FPC (PENDING)
14
15 * bind mounts are ignored
16
17 * 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
18     (path: after installing inotify watches, recheck file again to fix race)
19
20 * NM should pull in network.target, ntpd should pull in rtc-set.target.
21
22 * kernel patch wegen kmsg prio nach f15
23
24 * selinux issue http://people.gnome.org/~cosimoc/selinux.jpg
25
26 * fix alsa mixer restore to not print error when no config is stored
27
28 * ply should do mkdir before writing pid file
29
30 * ConditionDirectoryNotEmpty= needs to be documented
31
32 Features:
33
34 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
35
36 * document default dependencies
37
38 * LOG_DAEMON/LOG_USER für kmsg messages schreiben
39
40 * Find a way to replace /var/run, /var/lock directories with
41   symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
42   We soon want to get rid of var-run.mount var-lock.mount units.
43
44 * when key file cannot be found, read it from kbd in cryptsetup
45
46 * get rid of random file name in generator directory?
47     /run/systemd/generator-IH1vFu
48
49 * fix SD_WARNING syslog stuff in src/sd-daemon.h to include the
50   LOG_DAEMON(3) facility value. Never use the LOG_KERNEL(0) facility.
51
52 * add switch to systemctl to show enabled but not running services. Or
53   another switch that shows service that have been running since
54   booting but aren't running anymore.
55
56 * reuse mkdtemp namespace dirs in /tmp?
57
58 * don't strip facility from kmsg log messages as soon as that is possible:
59     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
60
61 * recreate systemd's D-Bus private socket file on SIGUSR2
62
63 * be more specific what failed:
64     ...
65     Unmounting file systems.
66     Not all file systems unmounted, 1 left.
67     Disabling swaps.
68     Detaching loop devices.
69     Detaching DM devices.
70     Cannot finalize remaining file systems and devices, trying to kill remaining processes.
71     Unmounting file systems.
72     Not all file systems unmounted, 1 left.
73     Cannot finalize remaining file systems and devices, giving up.
74     ...
75
76 * check for compiled-in, but not active selinux, and don't print any warnings
77   about policy loading. Probably check for available selinux in /proc/filesystems,
78   and check for active selinux with getcon_raw() == "kernel"
79
80 * optionally create watched directories in .path units
81
82 * Support --test based on current system state
83
84 * consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
85
86 * consider services with any kind of link in /etc/systemd/system enabled
87
88 * show failure error string in "systemctl status"
89
90 * make sure timeouts are applied to Type=oneshot services.
91
92 * Maybe implement "systemctl mask" and "systemctl unmask", but not
93   document it? When doing that add switch to make this temporary by
94   placing mask links in /dev.
95   Consider moving the actual fs operations into systemd behind a D-Bus
96   interface, to make namespaces/containers/remote connections work properly.
97
98 * detect LXC environment
99
100 * invoke vhangup() before and after invoking getty
101     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
102
103 * support "auto" and "comment=systemd.automount" at the same time for an fstab entry
104
105 * Maybe store in unit files whether a service should be enabled by default on package installation
106   (belongs into a distro pattern though, not in an upstream package's service file)
107
108 * perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
109
110 * need a way to apply mount options of api vfs from systemd unit files
111   (or some other modern source?) instead of fstab
112
113 * maybe introduce ExecRestartPre=
114
115 * figure out what happened to bluez patch
116
117 * Patch systemd-fsck to use -C and pass console fd to it
118
119 * support remote/ssh systemctl/systemadm, and local privileged access → dbus patches need to be merged
120
121 * configurable jitter for timer events
122
123 * Support ProcessNeededForShutdown=true to allow stuff like mdmon
124   to be killed very late after the rootfs is read only (?)
125
126 * Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
127   needed action
128
129 * dot output for --test showing the 'initial transaction'
130
131 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
132   - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
133
134 * systemd --user
135   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
136
137 * add VT tracking:
138   - provide CK functionality
139   - start getty only when actual vt switch happens (same model as
140     socket on-demand activation). allocate the next free tty and
141     start a getty there. this way, pressing alt-f[1-12] will switch
142     through running X and getty sessions, and any unallocated
143     activated tty will start a new getty. the hardcoding of
144     getty[1-6] will entirely go away.
145   - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
146
147 * implicitly import "defaults" settings file into all types
148
149 * port over to LISTEN_FDS/LISTEN_PID:
150    - uuidd    HAVEPATCH
151    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
152    - cups     HAVEPATCH
153    - postfix, saslauthd
154    - apache/samba
155    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
156    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
157    - distccd
158
159 * fingerprint.target, wireless.target, gps.target
160
161 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
162
163 * io priority during initialization
164
165 * if a service fails too often, make the service enter failed mode, and the socket, too.
166
167 * systemctl list-jobs - show dependencies
168
169 * accountsservice is borked
170
171 * auditd service files
172
173 * add systemctl switch to dump transaction without executing it
174
175 * suspend, resume support?
176
177 * readahead: btrfs/LVM SSD detection
178
179 * add separate man page for [Install] settings
180
181 * allow runtime changing of log level and target
182
183 External:
184
185 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
186
187 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
188
189 * gnome-shell python script/glxinfo/is-accelerated must die
190
191 * make cryptsetup lower --iter-time
192
193 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
194
195 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
196     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
197   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
198
199 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
200
201 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
202 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
203 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
204 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
205 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
206 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
207 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
208 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
209 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
210 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
211 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
212 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
213 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
214 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
215 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
216 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
217 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
218 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
219
220 Regularly:
221
222 * look for close() vs. close_nointr() vs. close_nointr_nofail()
223
224 * check for strerror(r) instead of strerror(-r)
225
226 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
227
228 * %m in printf() instead of strerror();
229
230 * pahole
231
232 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"