====== Current list ======
* Modify Clang/LLD/etc. build to generate Version.inc files or similar rather than hardcoding (e.g. r305088)
====== Outstanding - work ($) ======
Tags of the form reqst######## are bug IDs in $oldwork's bug tracking system.
===== Old current list =====
- Performance test and commit netmap stats change (netperf cluster)
- Netmap locking issue reported by witness, on detach
- %%FreeBSD%%/%%NetBSD%% diff reduction, for OVS port
- route.h RT_ADVANCE etc.
===== Doc issues =====
- exit(3) man page return value guidance - too much exit(-1) in proprietary code
===== Solution is understood, work just needs to be done =====
- BSD licensed smarthost delivery mini MTA
* Most likely case - dma from %%DragonFly%%
* https://github.com/corecode/dma (current master repo, github)
* http://gitorious.org/dma (old gitorious repo)
* http://gitweb.dragonflybsd.org/dragonfly.git/tree/master:/libexec/dma (in %%DragonFlyBSD%%)
* Outdated version currently in ports
* http://www.freshports.org/mail/dma/
* Current version compiles on %%FreeBSD%% -CURRENT with no change
* needs trivial stat mtim diff for older releases
* dma does local delivery, smarthost, or direct MX delivery
* retry handled for the latter two cases
* bz@ is working on it
- Indexed arrays for sh(1) a la ksh/bash -- var[index]=val; echo ${var[index]}
* Some opposition to this idea - don't want to "bloat" sh(1)
* I originally had "associative arrays" listed, but indexed arrays are simpler and sufficient for many purposes. Also Bash only added associative arrays recently.
* zsh supports indexed arrays (but not associative)
- lagg failover discarding input -> Tushar
* disconnect master link
* switch's mac table assigns mac to backup link
* reconnect master link
* switch continues to send frames to backup link
* lagg discards the frames
* easy hack: allow accept on any port via sysctl setting
* better fix: allow lagg to send gratuitous ARP when failover active port changes
* need link state notification input to lagg to do the latter
- bootcode / vfs.root.mountfrom cleanup
* patch is waiting in my tree, reviewed by Attilio
* (phk) [rootdevnames] should be removable by now.
* dev/md/md.c: rootdevnames[0] = "ufs:/dev/md0";
* ia64/ia64/sscdisk.c: rootdevnames[0] = "ufs:/dev/sscdisk0";
* kern/vfs_mount.c:char *rootdevnames[2] = {NULL, NULL};
* kern/vfs_mount.c: if (!vfs_mountroot_try(rootdevnames[0]%%))%%
* kern/vfs_mount.c: if (!vfs_mountroot_try(rootdevnames[1]%%))%%
* nfsclient/bootp_subr.c: rootdevnames[0] = "nfs:";
* nfsclient/nfs_diskless.c: rootdevnames[0] = "nfs:";
* sys/systm.h:extern char *rootdevnames[2]; /* names of possible root devices */
- TCP support for syslogd
* plain syslog format over TCP
* as implemented in syslog-ng
- schedgraph.py
* thread names from ps -axH -o paddr,tdaddr,pcomm,tdnam
* sort by thread name
* tree view of threads in a process
* show/hide threads or processes
* lines between processes in right-hand window don't display in some cases (towards bottom)
* < > buttons in event window - move to top so you can keep clicking next without moving mouse
* allow event zoom (magnify selected thread around current time w/o changing overall ticks/pixel)
* allow absolute ticks, relative ticks, relative time as timestamps
* add a legend window
* lend prio event - to thread shows up with just proc name it appears
- Allow tzsetup to pick UTC or UTC +/- offset zones
* //reqst00227912//
- Kernel core handling infrastructure
* Need a method to determine, from a kernel core,
* Path to the kernel that was loaded at the time (i.e., sysctl kern.bootfile)
* Whether or not the kernel now at that path is identical to the one that was running (e.g. md5 hash of kernel file)
* http://fxr.watson.org/fxr/ident?im=excerpts;i=kernelname
* reqst00220678
===== Further investigation or scoping is necessary before beginning work =====
- Teach {k,}gdb to read gzipped symbols files (idea from brooks) Support ''%%--compress-debug-sections%%''
- sysv semaphore locking issues
* does it need a rewrite?
* some cleanup has happened here, it might be fine now?
- Big MD root crashes kernel or loader
* Make big ramdisk: ''%%dd if=/dev/zero of=bsdimage bs=1k count=128k%%''
* /boot/loader.rc
* load /boot/kernel/kernel
* load -t mfs_root /bsdimage
* [[/JohnBaldwin|JohnBaldwin]]: fixed by bumping up NKPT usually, and now NKPT on i386 is a real kernel option so you can change it more easily
- other compat32 issues: (maybe just clean up and contribute from $WORKBSD)
* libcam
* libgeom / devstat
* sys/dev/smbus/smb.c
* PCIOCGETCONF
- PR kern/40021 patch to use ld(1) to include a prebuilt md root filesystem instead of writing to a preallocated region
- serial gdb & conserver improvements
* conserver, or pty<->conserver connector
* conserver probably needs a 'passthrough' mode; ^Ec parsing etc. is handled by the server
- valgrind support
- hwpmc new CPUs, update/release/incorporate into pmcannotate $WORKBSD profiler
* adrian looking at our profiler src
* Ryan also
* http://code.google.com/p/sprofiler/
- mount behaviour at mountroot> ufs:ufs/freebsdvm mount -uw / filesystem becomes dirty but does not go rw
* looks like update changes clean flag and last-mounted string, but then fails when ufs/freebsdvm instead of /dev/ufs/freebsdvm shows up
- spb perf / FCAPS / 1UX7
- Audit sys/net/if.c:if_grow() and callers for potential locking issues/race conditions
* had been fixed in $WORKBSD in the 5.x timeframe, but maybe the race is gone or much less likely now?
- caching DNS proxy and small DNS server
* provide hostnames for local network
* basically what you might expect on a small home router
* like dnsmasq
* BSD license would be a plus
- <@[[/JohnBaldwin|JohnBaldwin]]> emaste: we probably need a separate BSD.32.dist
- Conflict between utrace records in ld-elf32 and 64-bit kdump
- pam_diameter - use diameter for AAA, like pam_radius/pam_tacacs
* Does anyone do this?
- bsdtar -U option behaviour
* reqst00174629
* create a symlink ''%%dirlink -> /some/other/path%%''
* create a tar file containing directory ''%%dirlink%%''
* tar -x -P -U file.tar
* 6.1 left the symlink in place; 6.3 replaces with a directory
- ifconfig w/ ether and inet config
* bin/123633 http://www.freebsd.org/cgi/query-pr.cgi?pr=123633&cat=bin
- em(4) + vlan + polling issue
* kern/118695 http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/118695
- lagg / IPv6
* kern/122954 http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/122954
* kern/137089 http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/137089
- First line of vmstat output is incorrect (reqst00198101)
- Audit ifnet reference counting -- if_ref / vlan / lagg / carp / ...
- WITNESS for userland (pthreads)
- kexec (named kload in %%FreeBSD%%: [[http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037906.html]])
- ksplice ([[http://www.ksplice.com/doc/ksplice.pdf]])
===== Outstanding - Somewhat work related =====
- Add a nodiskless keyworkd to startup scripts and have /etc/rc not run those for diskless machines
- Multi device support for loader(8) -- allow simultaneous disk, tftp, nfs, httpfs, etc.
* Sam said he might look at this
- HTTP support for pxe loader
* integrate taleks' work from previous %%GSoC%%
- Database-backed or in memory DHCP server
* for booting diskless machines in a test lab
* be able to change next-server, root-path etc. per host, without rewriting config file and restarting
- Add support for loading %%FreeBSD%% kernels to QEMU, like it does with Linux kernels
* direct loading, not from disk image or PXE
- Automatically unset the boot.nfsroot variables,
* whenever the loader is compiled with LOADER_TFTP_SUPPORT?
* if a root md(4) filesystem is loaded?
* if vfs.root.mountfrom is set and doesn't start with nfs:?
* via the default loader.conf on the installation media?
* I don't recall what I was trying to solve here
- Add SNMP v3 support to bsnmpd
- Add %%AgentX%% support (RFC2741) to bsnmpd
- Automatically set vfs.root.mountfrom=ufs:/dev/md0 if a root md(4) filesystem is loaded.
===== Outstanding - personal interest =====
- SIGINFO handler for newfs_msdos (percentage progress indicator)
- vnode backed md is in raw format - allow vmdk (vmware) / qcow2(qemu) etc. format as well
* or perhaps geom_vmdk, geom_qcow2?
- CUPS / devfs conflict with lpt0
- media with sector size != 512 (e.g. 2048 byte USB stick)
- Offer a prebuilt pxeboot_tftp binary compiled with LOADER_TFTP_SUPPORT=YES so that the loader doesn't need to be recompiled.
* No point if multi-device support gets done.
- Add twiddle to fsck
* jhb mentioned this
* I thought he had an implementation, but apparently not so
- Kernel options and modules
* Can't build ipfw module with forwarding or default to accept
* sys/netinet/ipfw/ip_fw2.c - #if !defined(KLD_MODULE)
* looks like a generic problem
===== Todo after 8.0 branch =====
- Clean up src/lib/libstand/nfs.c vs. netbsd src/sys/lib/libsa/nfs.c
* http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/lib/libsa/nfs.c?only_with_tag=MAIN
* also rpc.c, net.c http://www.openbsd.org/cgi-bin/cvsweb/src/sys/lib/libsa/net.c?only_with_tag=MAIN
* and openbsd
- Add debug message to src/sys/boot/common/load_elf.c (symbols)
===== Done =====
- NFS truncation with non-power-of-two block size (reqst00031351)
mount -t nfs -orsize=8000,wsize=8000 localhost:/mnt/src /mnt/dst
jot -b 1234567890 1000 > /mnt/src/foo
* wc -l /mnt/src/foo -- returns 1000
* wc -l /mnt/dst/foo -- returns 698
* Issue is ''%%uio->uio_offset & (biosize - 1)%%'' used as modulo for non-power-of-two
* Committed as [[http://svnweb.freebsd.org/changeset/base/248500|r248500]]
- SIOCGIFADDR
- pivot_root (reroot)
* To support deployable VMs
===== Abandoned / Overcome by Events =====
- dump_write API change to take offset (and add di->mediaoffset itself)
* makes netdumping slightly cleaner
* **Attilio** to include in cleanup of netdump to HEAD
- NFS client improvements against SOSS
* SOSS is a Windows NFS v2 server
- pxeboot / loader / serial console (RELENG_6 fails, HEAD ok)
- CPU affinity and binding
* probably the support in 7.x/8.x is all we want
- Scheduler work for CPU affinity
- handle panics from within X "somehow"