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