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