Outstanding - work ($)

Tags of the form reqst######## are bug IDs in work's bug tracking system.

Solution is understood, work just needs to be done

  1. 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

  2. BSD licensed smarthost delivery mini MTA
  3. 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.
  4. lagg failover discarding input -> Nima

    • 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
  5. 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];

  6. phk: I belive the askboot() panics if you type garbage, that's not fun. We should give it a specific "reboot" facility and not panic.
    • Marcel is proposing some changes to the boot logic; this would be addressed as a side effect
  7. TCP support for syslogd
    • plain syslog format over TCP
    • as implemented in syslog-ng
  8. 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
  9. Allow tzsetup to pick UTC or UTC +/- offset zones
    • reqst00227912
  10. 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
  11. Ensure growfs is stable
    • Reports now are that growfs is stable
  12. Online growfs
    • To support deployable VMs
  13. pivot_root
    • To support deployable VMs

Further investigation or scoping is necessary before beginning work

  1. Teach {k,}gdb to read gzipped symbols files (idea from brooks)
  2. sysv semaphore locking issues
    • does it need a rewrite?
    • some cleanup has happened here, it might be fine now?
  3. 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
    • BigKnife: fixed by bumping up NKPT usually, and now NKPT on i386 is a real kernel option so you can change it more easily

  4. tar output mode for installworld
  5. NFS client improvements against SOSS
    • SOSS is a Windows NFS v2 server
  6. other compat32 issues: (maybe just clean up and contribute from $WORKBSD)
    • libcam
    • libgeom / devstat
    • sys/dev/smbus/smb.c
    • PCIOCGETCONF
  7. PR kern/40021 patch to use ld(1) to include a prebuilt md root filesystem instead of writing to a preallocated region
  8. serial gdb & conserver improvements

    • conserver, or pty<->conserver connector

    • conserver probably needs a 'passthrough' mode; ^Ec parsing etc. is handled by the server
  9. valgrind support
  10. hwpmc new CPUs, update/release/incorporate into pmcannotate $WORKBSD profiler

  11. pxeboot / loader / serial console (RELENG_6 fails, HEAD ok)
  12. CPU affinity and binding
    • probably the support in 7.x/8.x is all we want
  13. Scheduler work for CPU affinity
  14. 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
  15. spb perf / FCAPS / 1UX7
  16. 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?
  17. 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
  18. <@BigKnife> emaste: we probably need a separate BSD.32.dist

  19. Conflict between utrace records in ld-elf32 and 64-bit kdump
  20. pam_diameter - use diameter for AAA, like pam_radius/pam_tacacs
    • Does anyone do this?
  21. NFS errors with 8000 byte 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
    • -2 / -3, -T / -U affected
    • requires both -orsize and -owsize, if either is missing it works
    • cp works, wc/diff show the problem
    • appears to be client issue
    • Jun 29 2009 -CURRENT still shows the problem
  22. 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
  23. ifconfig w/ ether and inet config
  24. lagg + vlan issue
    • kern/132715: [lagg] [panic] Panic when creating vlan's on lagg interface
  25. em(4) + vlan + polling issue
  26. lagg / IPv6
  27. First line of vmstat output is incorrect (reqst00198101)
  28. Audit ifnet reference counting -- if_ref / vlan / lagg / carp / ...
  29. WITNESS for userland (pthreads)
  30. kexec
  31. ksplice (http://www.ksplice.com/paper)

  1. Add a nodiskless keyworkd to startup scripts and have /etc/rc not run those for diskless machines
  2. Multi device support for loader(8) -- allow simultaneous disk, tftp, nfs, httpfs, etc.
    • Sam said he might look at this
  3. HTTP support for pxe loader
    • integrate taleks' work from previous GSoC
  4. 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
  5. Add support for loading FreeBSD kernels to QEMU, like it does with Linux kernels
    • direct loading, not from disk image or PXE
  6. 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
  7. Add SNMP v3 support to bsnmpd
  8. Add AgentX support (RFC2741) to bsnmpd
  9. Automatically set vfs.root.mountfrom=ufs:/dev/md0 if a root md(4) filesystem is loaded.

Outstanding - personal interest

  1. SIGINFO handler for newfs_msdos (percentage progress indicator)
  2. vnode backed md is in raw format - allow vmdk (vmware) / qcow2(qemu) etc. format as well
    • or perhaps geom_vmdk, geom_qcow2?
  3. CUPS / devfs conflict with lpt0
  4. Xorg 7.3 & RandR crash on my desktop machine w/ 2 monitors (had been mentioned elsewhere)

  5. handle panics from within X "somehow"
  6. umass error handling
    • no idea - maybe just to keep an eye out for trasz's work?
  7. media with sector size != 512 (e.g. 2048 byte USB stick)
  8. 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.
  9. Add twiddle to fsck
    • jhb mentioned this
    • I thought he had an implementation, but apparently not so
  10. 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

  1. Clean up src/lib/libstand/nfs.c vs. netbsd src/sys/lib/libsa/nfs.c
  2. Add debug message to src/sys/boot/common/load_elf.c (symbols)

Resolved

  1. ppbus/lpt crash
  2. ukbd LEDs
    • F-lock still broken
    • fixed by ?
  3. config vs. amd (realpath ../..)
  4. DEVICE_POLLING API change
  5. Implement FIONSPACE for FreeBSD
    • http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/kern/sys_socket.c rev 1.41 and 1.42

    • How much space is there in a socket buffer (so->so_snd or so->so_rcv)? This is problematical if the fields are unsigned, as the space might still be negative (cc > hiwat or mbcnt > mbmax). Should detect overflow and return 0.

  6. c++filt Morphs
    • Used to segfault
    • obrien committed fix from upstream repo
  7. It appears that BSD.local.dist, BSD.X11.dist, and BSD.X11-4.dist are installed but not used for anything
    • flz MAINTAINERS commit: these are for ports, and no longer maintained in src/ (will be removed)
  8. tcp_syncache allocation bug (reqst00106055)
    • Attilio has committed my fix to RELENG_6
    • does not apply to later releases
  9. devctl queue size limit
  10. Add file to store info on selected timezone (reqst00080218)
  11. procfs locking (reqst00063533)
  12. gcore on threaded apps
    • Contribute from $WORKBSD
    • In progress -- Attilio
  13. IPv6 if_addr_mutex recursion
  14. BTX real mode
    • Not sure what this point was, probably just a reminder to keep an eye out for jhb's work
  15. bpf compat32
  16. devfs panic
    • reqst00184017
    • devfs_close->_sx_xunlock->_mtx_lock_sleep

      • resolved with merge from stable/6
  17. /dev/io does not play nicely with threaded apps
  18. document new FIONWRITE, FIONSPACE (and all other ioctls) somewhere.
  19. F-Lock key on Microsoft Natural keyboard 4000 does not function

EdMaste/ToDo (last edited 2011-07-04 13:06:21 by EdMaste)