chiark / gitweb /
82bc9950a6e8277d0f6d23f179e76594c2d3e380
[elogind.git] / TODO
1 * udev-kernel.socket + udev.control.socket seems not
2   to work, udevd is started but no fd is passed
3
4 F15:
5
6 * swap units that are activated by one name but shown in the kernel under another are semi-broken
7
8 F15 External:
9
10 * NFS, networkmanager ordering issue (PENDING)
11
12 * NM should pull in network.target (PENDING)
13   https://bugzilla.redhat.com/show_bug.cgi?id=692008
14
15 * bluetooth should be possible to disable (PENDING)
16
17 * make anaconda write timeout=0 for encrypted devices
18
19 * fix broken Sockets=syslog-ng.socket packaging
20
21 Features:
22
23 * fix CUPS .path unit for globbing
24
25 * move PAM code into its own binary
26
27 * logind: ensure ACLs are updated on login and logout
28
29 * warn if the user stops a service but not its associated socket
30
31 * ensure we always set the facility when logging to kmsg
32
33 * service: pid file reading after reload doesn't work, since we don't reset the pid variable
34
35 * logind: spawn user@..service on login
36
37 * logind: non-local X11 server handling
38
39 * logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed
40
41 * possibly apply systemd-sysctl per network device subtrees on hotplug
42
43 * implement Register= switch in .socket units to enable registration
44   in Avahi, RPC and other socket registration services.
45
46 * make sure people don't leave processes around after ExecStartPre=
47
48 * make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
49
50 * support presets
51
52 * kernel: add /proc/sys file exposing CAP_LAST_CAP?
53
54 * kernel: add device_type = "fb", "fbcon" to class "graphics"
55
56 * understand https://bugzilla.redhat.com/show_bug.cgi?id=672194
57
58 * readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
59
60 * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
61
62 * support sd_notify() style notification when reload is finished (RELOADED=1)
63
64 * support sf_notify() style notification when shutting down, to make auto-exit bus services work
65
66 * verify that the AF_UNIX sockets of a service in the fs still exist
67   when we start a service in order to avoid confusion when a user
68   assumes starting a service is enough to make it accessible
69
70 * Make it possible to set the keymap independently from the font on
71   the kernel cmdline. Right now setting one resets also the other.
72
73 * move nss-myhostname into systemd
74
75 * figure out a standard place to configure timezone name, inform myllynen@redhat.com
76
77 * add dbus call to convert snapshot into target, and a dbus call to generate target from current state
78
79 * detect LXC with $container=lxc
80
81 * drop /.readahead on bigger upgrades with yum
82
83 * add inode stat() check to readahead to suppress preloading changed files
84
85 * allow list of paths in config_parse_condition_path()
86
87 * show enablement status in systemctl status
88
89 * teach systemctl to enable unit files in arbitrary directories
90
91 * In systemctl make sure both is-enabled and is-active print a string, or neither.
92
93 * Implement:
94     systemctl mask <unit>
95     systemctl unmask <unit>
96   Also support --temp to make this temporary by placing mask links in /run.
97
98 * perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
99
100 * add support for /bin/mount -s
101
102 * GC unreferenced jobs (such as .device jobs)
103
104 * add JoinControllers= to system.conf to mount certain cgroup
105   controllers together in order to guarantee atomic creation/addition
106   of cgroups
107
108 * avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
109
110 * cgroup_notify_empty(): recursively check groups up the tree, too
111
112 * fix alsa mixer restore to not print error when no config is stored
113
114 * when failing to start a service due to ratelimiting, try again later, if restart=always is set
115
116 * write blog stories about:
117   - enabling dbus services
118   - status update
119   - how to make changes to sysctl and sysfs attributes
120   - remote access
121
122 * allow port=0 in .socket units
123
124 * rename systemd-logger to systemd-stdio-syslog-bridge
125
126 * take BSD file lock on tty devices when using them?
127
128 * avoid any flag files, or readahead files in /, we need to support r/o /
129   or / on tmpfs like Android setups.
130
131 * move readahead files into /var, look for them with .path units
132
133 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
134
135 * get process transport into dbus for systemctl -P/-H
136
137 * document default dependencies
138
139 * support systemd.whitelist=/systemd.blacklist= on the kernel command
140   line.
141
142 * Find a way to replace /var/run, /var/lock directories with
143   symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
144   (lua code to create symlinks right away for new installations is in filesytem.rpm now)
145   We soon want to get rid of var-run.mount var-lock.mount units:
146     if mountpoint /run ; then
147           umount /var/run || :
148     else
149           mount --move /var/run /run || mount --bind /var/run /run
150     fi
151     mv /var/run /var/.run.save
152     ln -s /run /var/run
153     echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
154
155 * when key file cannot be found, read it from kbd in cryptsetup
156
157 * add switch to systemctl to show enabled but not running services. Or
158   another switch that shows service that have been running since
159   booting but aren't running anymore.
160
161 * reuse mkdtemp namespace dirs in /tmp?
162
163 * recreate systemd's D-Bus private socket file on SIGUSR2
164
165 * be more specific what failed:
166     ...
167     Unmounting file systems.
168     Not all file systems unmounted, 1 left.
169     Disabling swaps.
170     Detaching loop devices.
171     Detaching DM devices.
172     Cannot finalize remaining file systems and devices, trying to kill remaining processes.
173     Unmounting file systems.
174     Not all file systems unmounted, 1 left.
175     Cannot finalize remaining file systems and devices, giving up.
176     ...
177
178 * check for compiled-in, but not active selinux, and don't print any warnings
179   about policy loading. Probably check for available selinux in /proc/filesystems,
180   and check for active selinux with getcon_raw() == "kernel"
181
182 * Support --test based on current system state
183
184 * show failure error string in "systemctl status"
185
186 * make sure timeouts are applied to Type=oneshot services.
187
188 * investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
189
190 * need a way to apply mount options of api vfs from systemd unit files
191   (or some other modern source?) instead of fstab?
192
193 * maybe introduce ExecRestartPre=
194
195 * figure out what happened to bluez patch
196
197 * Patch systemd-fsck to use -C and pass console fd to it
198
199 * configurable jitter for timer events
200
201 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
202   be killed very late after the rootfs is read only? If implement pass
203   this to shutdown binary via command line argument.
204
205 * dot output for --test showing the 'initial transaction'
206
207 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
208     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
209
210 * systemd --user
211   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
212
213 * implicitly import "defaults" settings file into all types
214
215 * port over to LISTEN_FDS/LISTEN_PID:
216    - uuidd    HAVEPATCH
217    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
218    - cups     HAVEPATCH
219    - postfix, saslauthd
220    - apache/samba
221    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
222    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
223    - distccd
224
225 * fingerprint.target, wireless.target, gps.target, netdevice.target
226
227 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
228
229 * io priority during initialization
230
231 * if a service fails too often, make the service enter failed mode, and the socket, too.
232
233 * systemctl list-jobs - show dependencies
234
235 * auditd service files
236
237 * add systemctl switch to dump transaction without executing it
238
239 * suspend, resume support?
240
241 * readahead: btrfs/LVM SSD detection
242
243 * add separate man page for [Install] settings
244
245 * allow runtime changing of log level and target
246
247 * drop cap bounding set in readahead and other services
248
249 External:
250
251 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
252
253 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
254
255 * gnome-shell python script/glxinfo/is-accelerated must die
256
257 * make cryptsetup lower --iter-time
258
259 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
260
261 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
262     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
263   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
264
265 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
266
267 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
268 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
269 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
270 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
271 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
272 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
273 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
274 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
275 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
276 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
277 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
278 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
279 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
280 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
281 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
282 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
283 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
284 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
285
286 Regularly:
287
288 * look for close() vs. close_nointr() vs. close_nointr_nofail()
289
290 * check for strerror(r) instead of strerror(-r)
291
292 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
293
294 * %m in printf() instead of strerror();
295
296 * pahole
297
298 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"