chiark / gitweb /
1768b0bc2e7f59d05a9548ac485a4f1ea25e4375
[elogind.git] / TODO
1 F15:
2
3 * swap units that are activated by one name but shown in the kernel under another are semi-broken
4
5 * dep cycle basic → udev-retry → auditd → iptables → basic
6
7 * isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
8
9 * NFS, networkmanager ordering issue (PENDING)
10
11 * add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
12
13 * hook emergency.target into local-fs.target in some way as OnFailure with isolate
14
15 * drop SIGHUP handling from rsyslog.service upstream (PENDING)
16
17 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
18
19 * save/restore tool for SysV as requested by FPC (PENDING)
20
21 * bind mounts are ignored
22
23 * 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
24   (path: after installing inotify watches, recheck file again to fix race)
25
26 * capability_bounding_set_drop not used
27
28 * rework syslog.service being up logic in PID 1
29
30 * rsyslog.service should hook itself into syslog.target?
31
32 * syslog.target should be pulled in by multi-user.target?
33
34 * pull in .service from meta .targers AND vice versa too. i.e. syslog.target ←→ rsyslog.service, rpcbind similarly
35
36 * drop Names= option? Symlinks only should be used. We don't want to need to read all service files.
37
38 Features:
39 * don't strip facility from kmsg log messages as soon as that is possible.
40   http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
41
42 * recreate systemd'd D-Bus private socket file on SIGUSR2
43
44 * be more specific what failed:
45     Unmounting file systems.
46     Not all file systems unmounted, 1 left.
47     Disabling swaps.
48     Detaching loop devices.
49     Detaching DM devices.
50     Cannot finalize remaining file systems and devices, trying to kill remaining processes.
51     Unmounting file systems.
52     Not all file systems unmounted, 1 left.
53     Cannot finalize remaining file systems and devices, giving up.
54
55 * optionally create watched directories in .path units
56
57 * Support --test based on current system state
58
59 * consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
60
61 * consider services with any kind of link in /etc/systemd/system enabled
62
63 * show failure error string in "systemctl status"
64
65 * make sure timeouts are applied to Type=oneshot services.
66
67 * maybe implement "systemctl mask" and "systemctl unmask", but not
68   document it? When doing that add switch to make this temporary by
69   placing mask links in /dev.
70
71 * detect LXC environment
72
73 * invoke vhangup() before and after invoking getty
74   http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
75
76 * support "auto" and "comment=systemd.automount" at the same time for an fstab entry
77
78 * Maybe store in unit files whether a service should be enabled by default on package installation
79   (belongs into a distro pattern though, not in an upstream package's service file)
80
81 * perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
82
83 * need a way to apply mount options of api vfs from systemd unit files
84   (or some other modern source?) instead of fstab
85
86 * maybe introduce ExecRestartPre=
87
88 * figure out what happened to bluez patch
89
90 * Patch systemd-fsck to use -C and pass console fd to it
91
92 * support remote/ssh systemctl/systemadm, and local privileged access
93
94 * configurable jitter for timer events
95
96 * Support ProcessNeededForShutdown=true to allow stuff like mdmon
97   to be killed very late after the rootfs is read only (?)
98
99 * Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
100   needed action
101
102 * dot output for --test showing the 'initial transaction'
103
104 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
105   - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
106
107 * systemd --user
108   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
109
110 * add VT tracking:
111     - provide CK functionality
112     - start getty only when actual vt switch happens (same model as
113       socket on-demand activation). allocate the next free tty and
114       start a getty there. this way, pressing alt-f[1-12] will switch
115       through running X and getty sessions, and any unallocated
116       activated tty will start a new getty. the hardcoding of
117       getty[1-6] will entirely go away.
118     - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
119
120 * implicitly import "defaults" settings file into all types
121
122 * port over to LISTEN_FDS/LISTEN_PID:
123    - uuidd    HAVEPATCH
124    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
125    - cups     HAVEPATCH
126    - postfix, saslauthd
127    - apache/samba
128    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
129    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
130    - distccd
131
132 * fingerprint.target, wireless.target, gps.target
133
134 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
135
136 * io priority during initialization
137
138 * if a service fails too often, make the service enter failed mode, and the socket, too.
139
140 * systemctl list-jobs - show dependencies
141
142 * accountsservice is borked
143
144 * auditd service files
145
146 * add systemctl switch to dump transaction without executing it
147
148 * suspend, resume support?
149
150 * readahead: btrfs/LVM SSD detection
151
152 * add separate man page for [Install] settings
153
154 * only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
155
156 * systemctl condrestart should return 0 if service isn't running
157
158 * allow runtime changing of log level and target
159
160 External:
161
162 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
163
164 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
165
166 * gnome-shell python script/glxinfo/is-accelerated must die
167
168 * make cryptsetup lower --iter-time
169
170 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
171
172 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
173     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
174   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
175
176 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
177
178 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
179 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
180 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
181 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
182 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
183 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
184 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
185 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
186 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
187 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
188 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
189 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
190 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
191 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
192 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
193 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
194 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
195 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
196
197 Regularly:
198
199 * look for close() vs. close_nointr() vs. close_nointr_nofail()
200
201 * check for strerror(r) instead of strerror(-r)
202
203 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
204
205 * %m in printf() instead of strerror();
206
207 * pahole
208
209 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"