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
- 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];
- patch is waiting in my tree, reviewed by Attilio
- 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)
- reqst00220678
- Need a method to determine, from a kernel core,
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: 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
- 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> 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
- em(4) + vlan + polling issue
- lagg / IPv6
- 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
- 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 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"