====== 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"