chiark / gitweb /
update TODO
[elogind.git] / TODO
1 Bugfixes:
2
3 * swap units that are activated by one name but shown in the kernel under another are semi-broken
4
5 * NM should pull in network.target (PENDING)
6   https://bugzilla.redhat.com/show_bug.cgi?id=692008
7
8 * make anaconda write timeout=0 for encrypted devices
9
10 * service: pid file reading after reload doesn't work, since we don't reset the pid variable
11
12 * make sure timeouts are applied to Type=oneshot services.
13
14 * Dangling symlinks of .automount unit files in .wants/ directories, set up
15   automount points even when the original .automount file did not exist
16   anymore. Only the .mount unit was still around.
17
18 * make polkit checks async
19
20 * logind is leaking fifos?
21
22 Features:
23 * if we can not get user quota for tmpfs, mount a separate tmpfs instance
24   for every user in /run/user/$USER with a configured maximum size
25
26 * bind mounts should be ordered after remount-root-fs.service
27
28 * default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
29
30 * increase RLIMIT_NOFILE for logind, logger by default
31
32 * add an option to make mounts private/shareable and so on, enable this for root by default
33
34 * internal restart counter for units (focus on auto-respawn)
35
36 * finer-grained auto-respawn settings (rate-limit)
37
38 * be able to specify a forced restart of service A where service B depends on, in case B
39   needs to be auto-respawned?
40
41 * Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
42
43 * introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h
44
45 * when a bus name of a service disappears from the bus make sure to queue further activation requests
46
47 * something like ConditionExec= or ExecStartPre= without failure state
48
49 * service restart retry configuration
50
51 * tmpfiles: apply "x" on "D" too (see patch from William Douglas)
52 * tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs)
53
54 * Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup
55
56 * don't set $HOME in services unless requested
57
58 * remove hacks in vala code and require libnotify 0.7
59
60 * hide PAM/TCPWrap options in fragment parser when compile time disabled
61
62 * when we automatically restart a service, ensure we retsart its rdeps, too.
63
64 * allow Type=simple with PIDFile=
65   https://bugzilla.redhat.com/show_bug.cgi?id=723942
66
67 * move PAM code into its own binary
68
69 * warn if the user stops a service but not its associated socket
70
71 * logind: spawn user@..service on login
72
73 * logind: non-local X11 server handling
74
75 * implement Register= switch in .socket units to enable registration
76   in Avahi, RPC and other socket registration services.
77
78 * make sure people don't leave processes around after ExecStartPre=
79
80 * make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
81
82 * readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
83
84 * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
85
86 * support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
87
88 * support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
89
90 * verify that the AF_UNIX sockets of a service in the fs still exist
91   when we start a service in order to avoid confusion when a user
92   assumes starting a service is enough to make it accessible
93
94 * Make it possible to set the keymap independently from the font on
95   the kernel cmdline. Right now setting one resets also the other.
96
97 * move nss-myhostname into systemd
98
99 * and a dbus call to generate target from current state
100
101 * detect LXC with $container=lxc
102
103 * drop /.readahead on bigger upgrades with yum
104
105 * add inode nr check to readahead to suppress preloading changed files
106
107 * add support for /bin/mount -s
108
109 * GC unreferenced jobs (such as .device jobs)
110
111 * cgroup_notify_empty(): recursively check groups up the tree, too
112
113 * when failing to start a service due to ratelimiting, try again later, if restart=always is set
114
115 * write blog stories about:
116   - enabling dbus services
117   - status update
118   - how to make changes to sysctl and sysfs attributes
119   - remote access
120   - cgroup best pratices to avoid stepping on each others toes
121   - how to pass throw-away units to systemd, or dynamically change properties of existing units
122   - how to integrate cgconfig and suchlike with systemd
123   - security properties
124   - xinetd conversion
125   - details of instantiated @.service setups
126
127 * allow port=0 in .socket units
128
129 * move readahead files into /var, look for them with .path units
130
131 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
132
133 * support systemd.mask= on the kernel command line.
134
135 * when key file cannot be found, read it from kbd in cryptsetup
136
137 * reuse mkdtemp namespace dirs in /tmp?
138
139 * recreate systemd's D-Bus private socket file on SIGUSR2
140
141 * Support --test based on current system state
142
143 * investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
144
145 * maybe introduce ExecRestartPre=
146
147 * configurable jitter for timer events
148
149 * timer events with system resume
150
151 * timer events on calendar time
152
153 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
154   be killed very late after the rootfs is read only? If implement pass
155   this to shutdown binary via command line argument.
156
157 * dot output for --test showing the 'initial transaction'
158
159 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
160     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
161
162 * implicitly import "defaults" settings file into all types
163 * exec settings override
164 * writable cgroups dbus properties for live changes
165
166 * read config fragments for all units from /lib/systemd/system/foobar.service.d/ to override/extend specific settings
167
168 * port over to LISTEN_FDS/LISTEN_PID:
169    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
170    - cups     HAVEPATCH
171    - postfix, saslauthd
172    - apache/samba
173    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
174    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
175    - distccd
176
177 * auditd service files
178
179 * fingerprint.target, wireless.target, gps.target, netdevice.target
180
181 * io priority during initialization
182
183 * if a service fails too often, make the service enter failed mode, and the socket, too.
184
185 * new deps "Triggers" and "TriggeredBy"
186
187 * systemctl list-jobs - show dependencies
188
189 * add systemctl switch to dump transaction without executing it
190
191 * suspend, resume support?
192
193 * drop cap bounding set in readahead and other services
194
195 External:
196
197 * dbus:
198    - get process transport into dbus for systemctl -P/-H (PENDING)
199    - dbus --user
200    - natively watch for dbus-*.service symlinks (PENDING)
201    - allow specification of socket mode/umask when allocating DBusServer
202    - allow disabling of fd passing when connecting a AF_UNIX connection
203    - allow disabling of UID passing for AUTH EXTERNAL
204
205 * systemd --user
206     PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
207
208 * fix alsa mixer restore to not print error when no config is stored
209
210 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
211
212 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
213
214 * gnome-shell python script/glxinfo/is-accelerated must die
215
216 * make cryptsetup lower --iter-time
217
218 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
219
220 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
221     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
222   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
223
224 * kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
225
226 * kernel: add device_type = "fb", "fbcon" to class "graphics"
227
228 Regularly:
229
230 * look for close() vs. close_nointr() vs. close_nointr_nofail()
231
232 * check for strerror(r) instead of strerror(-r)
233
234 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
235
236 * %m in printf() instead of strerror();
237
238 * pahole
239
240 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!