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