X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=TODO;h=6a130ac85b47e8749d40650a06842307a90b7bde;hb=5b12334d35eadf1f45cc3d631fd1a2e72ffaea0a;hp=e08e11e2d7829e5e5ba224b44e480b2ee2b01f4c;hpb=41dd15e474accdeb643c8319e257e6414c1c498a;p=elogind.git diff --git a/TODO b/TODO index e08e11e2d..6a130ac85 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,9 +43,53 @@ 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 -* wait filter, reboot() filter unification, unify dispatch table in systemctl_main() and friends, convert all to bus_log_create_error() +* systemctl: rework wait filter to not require match callback + +* unify dispatch table in systemctl_main() and friends * bus: access policy as vtable flag @@ -66,10 +107,6 @@ Features: * socket-proxyd: - 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 @@ -83,8 +120,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 @@ -352,9 +387,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 @@ -420,8 +452,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) @@ -499,6 +529,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 @@ -730,10 +761,13 @@ Features: - Make sure ID_PATH is always exported and complete for network devices where possible, so we can safely rely on Path= matching - - NamePolicy= replace the current naming rules - - MACPolicy= support 'firmware', 'synthetic' and 'random' - Check if Driver= is broken, or just my driver (bcma) +* sd-rtnl: + - replace sd_rtnl_message_append() by type-safe versions + - improve container support, and add support for entering containers when reading + - add support for more attribute types + External: * dbus: @@ -785,8 +819,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()!