]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
manager: merge serialization and desrialization counter into one, and increase it...
[thirdparty/systemd.git] / TODO
CommitLineData
8bf7fea5
KS
1* udev-kernel.socket + udev.control.socket seems not
2 to work, udevd is started but no fd is passed
3
b7ff1e47
LP
4F15:
5
c904f64d
LP
6* swap units that are activated by one name but shown in the kernel under another are semi-broken
7
b0a3f2bc
LP
8F15 External:
9
7d640cdf 10* NFS, networkmanager ordering issue (PENDING)
62170515 11
f80781ea
LP
12* NM should pull in network.target (PENDING)
13 https://bugzilla.redhat.com/show_bug.cgi?id=692008
14
222ae6a8
LP
15* bluetooth should be possible to disable (PENDING)
16
b9a2a36b 17* get writev() /dev/kmsg support into the F15 kernel
8bf7fea5 18 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e5b58bcbcb3d7518389c1d82fb6e926f5a9f72c
b9a2a36b 19
05677bb7 20* make anaconda write timeout=0 for encrypted devices
73090dc8 21
235b2826
KS
22* fix broken Sockets=syslog-ng.socket packaging
23
222ae6a8 24Features:
53907215 25
4e002583
LP
26* optionally support --if-listed in systemctl enable to enable only services listed in some filed
27
5db35d06
LP
28* wildcard support for .path units (think CUPS spool directory!)
29
0a31730e
LP
30* kernel: add /proc/sys file exposing CAP_LAST_CAP?
31
359306df
KS
32* kernel: add device_type = "fb", "fbcon" to class "graphics"
33
b5ef5549
LP
34* understand https://bugzilla.redhat.com/show_bug.cgi?id=672194
35
d3fc81bd
LP
36* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
37
38* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
39
8d0e38a2
LP
40* support sd_notify() style notificatio when reload is finished (RELOADED=1)
41
f28f1daf
LP
42* verify that the AF_UNIX sockets of a service in the fs still exist
43 when we start a service in order to avoid confusion when a user
44 assumes starting a service is enough to make it accessible
45
88a07670
LP
46* Make it possible to set the keymap independently from the font on
47 the kernel cmdline. Right now setting one resets also the other.
48
6ea832a2 49* add dbus call to convert snapshot into target
c2a14cf0 50
916abb21
LP
51* move nss-myhostname into systemd
52
53* figure out a standard place to configure timezone name, inform myllynen@redhat.com
54
55* add dbus call to convert snapshot into target
56
4ecda405
LP
57* detect LXC with $container=lxc
58
fb389e05
LP
59* add prefix match to sysctl, tmpfiles, ...
60
b23de6af
LP
61* drop /.readahead on bigger upgrades with yum
62
24a73f51 63* add inode stat() check to readahead to suppress preloading changed files
b4bd5144 64
6ea832a2 65* allow list of paths in config_parse_condition_path()
adf70c5e 66
ecb963cc
LP
67* introduce dbus calls for enabling/disabling a service
68
69* support notifications for services being enabled/disabled
70
21bdae12
LP
71* add support for /bin/mount -s
72
9534ce54
LP
73* GC unreferenced jobs (such as .device jobs)
74
2076cf88
LP
75* add JoinControllers= to system.conf to mount certain cgroup
76 controllers together in order to guarantee atomic creation/addition
77 of cgroups
78
5c94603d
LP
79* don't enter "exited" mode for sysv services with pid file
80
73090dc8 81* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
19bc719e
LP
82
83* cgroup_notify_empty(): recursively check groups up the tree, too
73090dc8 84
ba1a5515 85* fix alsa mixer restore to not print error when no config is stored
18a5d7ff 86
abf96c87
LP
87* show enablement status in systemctl status
88
8003c705
LP
89* support SYSTEMD_PAGER taking precedence over PAGER
90
91* fix upstart reboot compat call
92
93* In systemctl make sure both is-enabled and is-active print a string, or neither.
94
3661ac04
LP
95* teach systemctl to enable unit files in arbitrary directories
96
c798c40e
LP
97* when failing to start a service due to ratelimiting, try again later, if restart=always is set
98
68c7d001 99* write blog stories about:
68c7d001
LP
100 - enabling dbus services
101 - status update
2121dcdd 102 - /etc/sysconfig and /etc/default
7ec75dc7 103 - how to write socket activated services
68c7d001 104
05677bb7 105* maybe add tiny dbus services similar to hostnamed for locale and wallclock/timezone?
73090dc8 106
44143309 107* allow port=0 in .socket units
3d57c6ab 108
9d8677da
LP
109* rename systemd-logger to systemd-stdio-syslog-bridge
110
cca4aeee
LP
111* take BSD file lock on tty devices when using them?
112
16b879e3
KS
113* avoid any flag files, or readahead files in /, we need to support r/o /
114 or / on tmpfs like Android setups.
115
b9a2a36b
LP
116* move readahead files into /var, look for them with .path units
117
ba1a5515 118* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 119
68c7d001
LP
120* get process transport into dbus for systemctl -P/-H
121
ba1a5515 122* document default dependencies
9408a2d2 123
d7cc2987
LP
124* support systemd.whitelist=/systemd.blacklist= on the kernel command
125 line.
126
3f7a8c4e
KS
127* Find a way to replace /var/run, /var/lock directories with
128 symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
619c2581 129 (lua code to create symlinks right away for new installations is in filesytem.rpm now)
b9a2a36b 130 We soon want to get rid of var-run.mount var-lock.mount units:
619c2581
KS
131 if mountpoint /run ; then
132 umount /var/run || :
133 else
134 mount --move /var/run /run || mount --bind /var/run /run
135 fi
136 mv /var/run /var/.run.save
137 ln -s /run /var/run
138 echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
3f7a8c4e 139
f9276855
LP
140* when key file cannot be found, read it from kbd in cryptsetup
141
260abb78
LP
142* add switch to systemctl to show enabled but not running services. Or
143 another switch that shows service that have been running since
144 booting but aren't running anymore.
145
146* reuse mkdtemp namespace dirs in /tmp?
147
260abb78 148* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 149
7d9e57d2 150* be more specific what failed:
3f7a8c4e 151 ...
7d9e57d2
KS
152 Unmounting file systems.
153 Not all file systems unmounted, 1 left.
154 Disabling swaps.
155 Detaching loop devices.
156 Detaching DM devices.
157 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
158 Unmounting file systems.
159 Not all file systems unmounted, 1 left.
160 Cannot finalize remaining file systems and devices, giving up.
3f7a8c4e 161 ...
2791a8f8 162
a49408ec
KS
163* check for compiled-in, but not active selinux, and don't print any warnings
164 about policy loading. Probably check for available selinux in /proc/filesystems,
165 and check for active selinux with getcon_raw() == "kernel"
166
a8f11321
LP
167* Support --test based on current system state
168
81253930 169* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 170
430c18ed 171* show failure error string in "systemctl status"
1a6f4df6
LP
172
173* make sure timeouts are applied to Type=oneshot services.
174
0ecb9427
KS
175* Implement:
176 systemctl mask <unit>
177 systemctl unmask <unit>
178 Also support --temp to make this temporary by placing mask links in /run.
3db48a78 179
2e0d98fa
LP
180* detect LXC environment
181
21bdae12
LP
182* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
183
3185a36b 184* Maybe store in unit files whether a service should be enabled by default on package installation
7d9e57d2 185 (belongs into a distro pattern though, not in an upstream package's service file)
3185a36b 186
b8bb3e8f
LP
187* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
188
f959c5e6 189* need a way to apply mount options of api vfs from systemd unit files
b9a2a36b 190 (or some other modern source?) instead of fstab?
7f6d6135 191
c32e0c40
LP
192* maybe introduce ExecRestartPre=
193
47ae6e67
LP
194* figure out what happened to bluez patch
195
487a15bb
LP
196* Patch systemd-fsck to use -C and pass console fd to it
197
35f10fcc
LP
198* configurable jitter for timer events
199
3d3961f2
LP
200* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
201 be killed very late after the rootfs is read only? If implement pass
202 this to shutdown binary via command line argument.
bf5bb531 203
0ecb9427
KS
204* use pivot_root on shutdown so that we can unmount the root directory.
205 - copy binaries to, and pivot_root() to the "shutdown tmpfs"
206 - solve "mdadm --wait-clean" problem that way
bf5bb531 207
59fee421
LP
208* dot output for --test showing the 'initial transaction'
209
8c6db833 210* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
8bf7fea5 211 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
351c7e74
KS
212
213* systemd --user
214 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
215
216* add VT tracking:
a49408ec
KS
217 - provide CK functionality
218 - start getty only when actual vt switch happens (same model as
219 socket on-demand activation). allocate the next free tty and
220 start a getty there. this way, pressing alt-f[1-12] will switch
221 through running X and getty sessions, and any unallocated
222 activated tty will start a new getty. the hardcoding of
223 getty[1-6] will entirely go away.
8bf7fea5 224 - http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 225
129126f3 226* implicitly import "defaults" settings file into all types
75787bb7 227
129126f3 228* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
229 - uuidd HAVEPATCH
230 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
231 - cups HAVEPATCH
a625ac1a 232 - postfix, saslauthd
a625ac1a
LP
233 - apache/samba
234 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
235 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
236 - distccd
237
68c7d001 238* fingerprint.target, wireless.target, gps.target, netdevice.target
0ff3dea7 239
647703fe 240* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 241
50f2a90d 242* io priority during initialization
8fe914ec 243
74ac3cbd 244* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 245
647703fe 246* systemctl list-jobs - show dependencies
63090775 247
20604ebc
LP
248* auditd service files
249
20604ebc
LP
250* add systemctl switch to dump transaction without executing it
251
7d9e57d2 252* suspend, resume support?
da726a4d 253
1a34d367
LP
254* readahead: btrfs/LVM SSD detection
255
ed1c99fc 256* add separate man page for [Install] settings
98e1f931 257
42e8a0a8
LP
258* allow runtime changing of log level and target
259
9534ce54
LP
260* drop cap bounding set in readahead and other services
261
2f8cd170 262External:
74fe1fe3 263
f959c5e6
LP
264* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
265
266* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
267
7d9e57d2 268* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 269
74fe1fe3
LP
270* make cryptsetup lower --iter-time
271
44143309 272* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
06ae4bfe 273
6f3f9deb 274* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 275 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 276 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 277
26192dfc
LP
278* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
279
50f2a90d
LP
280https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
281https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
282https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
283https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
284https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
285https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
286https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
287http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 288http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
289https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
290https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
291https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
292https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
293https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
294https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
295https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
296https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 297https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 298
129126f3 299Regularly:
874aa2cc 300
129126f3 301* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 302
129126f3 303* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
304
305* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
306
307* %m in printf() instead of strerror();
444a79d3
LP
308
309* pahole
310
311* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"