X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=4563b34f9e955b997ce7ce2108f4891801d4613f;hp=0f4e4162018601c7b20d340b50f4296ec2337140;hb=8cf030b349cbcb0901d880c9165d785dfc9cd569;hpb=d16bd0556127962e0dc19f2b049edb09f354bedb diff --git a/TODO b/TODO index 0f4e41620..4563b34f9 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,4 @@ Bugfixes: - * enabling an instance unit creates a pointless link, and the unit will be started with getty@getty.service: $ systemctl enable getty@.service @@ -24,7 +23,7 @@ Bugfixes: Fedora 20: -* external: ps should gain colums for slice and machine +* external: ps should gain colums for slice * localed: - localectl: support new converted x11→console keymaps @@ -34,8 +33,6 @@ Fedora 20: CGroup Rework Completion: -* introduce "mainpid" for scopes (or maybe not?) - * implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?) * implement per-slice CPUFairScheduling=1 switch @@ -46,6 +43,60 @@ CGroup Rework Completion: Features: +* general: get rid of readdir_r/dirent_storage stuff, it's unnecessary on Linux + +* add API to clone sd_bus_message objects + +* sd-bus: synthesized messages should get serial number (uint32_t) -1 + +* sd-event: allow multiple signal handlers per signal + +* when we detect low battery and no AC on boot, show pretty splash and refuse boot + +* move libasyncns into systemd as libsystemd-asyncns + +* calendarspec: support value ranges with ".." notation. Example: 2013-4..8-1 + +* sd-bus: when triggering property change events, allow a NULL strv indicate that all properties listed as such are send out as changed + +* sd-bus: enforce signatures on response messages + +* sd-bus: see if we can drop more message validation on the sending side + +* sd-bus: introduce sd_bus_creds object and attach it to messages as well as allow querying it for names + +* sd-bus: support "const" properties as flag + +* sd-event: when a handler returns an error, just turn off its event + source, but do not return anything up to the event loop + caller. Instead add parameter to sd_event_request_quit() to take + retval. This way errors rippling upwards are the option, not the + default + +* sd-event: child pid handling: first invoke waitid(WNOHANG) and call event handler, only afterwards reap the process + +* sd-event: native support for watchdog stuff + +* machined, localed: when we try to kill an empty cgroup, generate an ESRCH call over the bus + +* sd-bus: SD_BUS_COMMENT() macro for inclusion in vtables, syntax inspired by gdbus + +* libsystemd-journal, libsystemd-login, libudev: add calls to easily attach these objects to sd-event event loops + +* be more careful what we export on the bus as (usec_t) 0 and (usec_t) -1 + +* add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt + +* systemctl: rework wait filter to not require match callback + +* unify dispatch table in systemctl_main() and friends + +* bus: access policy as vtable flag + +* journalctl: support -M to read journal of containers and determine journal directory from root directory of container + +* tmpfiles: to make sure we don't delete unpacked tarballs with old timestamps right-away never delete stuff that is inside a directory with a new mtime + * "systemctl mask" should find all names by which a unit is accessible (i.e. by scanning for symlinks to it) and link them all to /dev/null @@ -54,13 +105,11 @@ Features: * remove NSS usage from PID 1 (notably the specifiers) * socket-proxyd: - - Support multiple inherited sockets mapped using different proxies + - Support multiple inherited sockets mapped to different remote hosts - Use a nonblocking alternative to getaddrinfo - Until we can start daemons directly, find a less ugly, less racy alternative than shell scripts for the second man page example. - Support starting daemons directly without requiring a shell script; update man pages -* optimize the cgroup propagation bits, especially unit_get_members_mask(), cgroup_context_get_mask() - * "systemctl cat" or "systemctl view" command or or so, that cats the backing unit file of a service, plus its drop-ins and shows them in a pager * rfkill,backlight: we probably should run the load tools inside of the udev rules so that the state is properly initialized by the time other software sees it @@ -73,8 +122,6 @@ Features: * move config_parse_path_strv() out of conf-parser.c -* libdsystemd-bus should expose utf8 validation calls - * After coming back from hibernation reset hibernation swap partition using the /dev/snapshot ioctl APIs * If we try to find a unit via a dangling symlink, generate a clean @@ -134,8 +181,6 @@ Features: * load .d/*.conf dropins for device units -* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ... - * service_coldplug() appears to reinstall the wrong stop timeout watch. * transient units: allow creating auxiliary units with the same call @@ -225,7 +270,7 @@ Features: * test/: - add 'set -e' to scripts in test/ - make stuff in test/ work with separate output dir - - remove all the duplicated code in test/ + - qemu wrapper script: http://www.spinics.net/lists/kvm/msg72389.html * systemctl delete x.snapshot leaves no trace in logs (at least at default level). @@ -337,7 +382,6 @@ Features: - logind: non-local X11 server handling - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree - - logind: GetSessionByPID() should accept 0 as PID value - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case * exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty. @@ -345,9 +389,6 @@ Features: * service: watchdog logic: for testing purposes allow ping, but do not require pong * journal: - - do not use magic msync() in src/journal/journal-file.c, just call fsync() - poettering: looks like msync just calls vfs_fsync - http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/mm/msync.c#n18 - import and delete pstore filesystem content at startup - journald: also get thread ID from client, plus thread name - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups @@ -413,8 +454,6 @@ Features: * deal with sendmail/postfix exclusivity * timer units: - - configurable jitter for timer events - - Adjust timers to be triggered at the same time as sd-event timers - timer events with system resume - timer units should get the ability to trigger when: o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET) @@ -492,6 +531,7 @@ Features: - nspawn: maybe add a way to drop additional caps, in addition to add additional caps - nspawn: maybe explicitly reset loginuid? - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context + - refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK). * cryptsetup: - cryptsetup-generator: allow specification of passwords in crypttab itself @@ -778,8 +818,6 @@ Regularly: * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel -* %m in printf() instead of strerror(errno); - * pahole * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!