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