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