比较重要的更新应该是它的HAMMER文件系统,全64位结构设计,Matthew Dillon真是天才!
呵呵,决定订一份Dragonfly BSD的kernel maillist多关注一下。
另外一个,netgraph是一个什么东西?wikipedia上的解释
netgraph is the graph based kernel networking subsystem of FreeBSD. Netgraph provides support for L2TP, PPTP, ATM, bluetooth using a modular set of nodes that are the graph.
Netgraph has also been ported on other Operating Systems:
* NetBSD,
* Linux kernel 2.4 and 2.6 by 6WIND (Commercial closed source port)
DragonFly 2.0 Release Notes
HAMMER filesystem released!
* Crash recovery on-mount, no fsck.
* Fine-grained snapshots, snapshot management, snapshot-support for filesystem-wide data integrity checks.
* Historically accessible by default.
* Mirroring: Queueless incremental mirroring, master to multi-slave.
* Undo and rollback.
* Reblocking.
* Multi-volume, maximum storage capacity of 1-Exabyte.
Kernel changes
* Add a sysctl jail.allow_raw_sockets (default to disabled) which allows jails to use raw sockets.
* Enhance the firmware loading support.
* Improved random number operation.
* Add native fairq-queue implementation using ALTQ, for PF
* Add native connection state recovery to PF - so router reboots do not drop active TCP connections. New 'pickups' directives, and a 'set' directive to set default keep policy.
* Incorporate the 'probability' keyword into PDF from NetBSD.
* Miscellanious bug fixes to the LWP (Light Weight Process) code. Fixes issues with kill -9 on vkernels.
* Significant work on the buffer cache and VM system relating to system operation under heavy loads and with low amounts of free memory.
* Major cleanup of the LWKT token code. This code works very well now and is here to stay.
* Implement a cothread API and abstraction for vkernel drivers. This allows a vkernel driver to use a real thread as an I/O co-processor, outside of the ncpus abstraction, improving vkernel performance for both UP and SMP bulids.
* Revamp and clean-up a good chunk of the low level pmap code in both the vkernel and i386 builds. This fixes a number of access safety issues and races which could occur under heavy loads.
* Fix issues related to gdb'ing a vkernel.
* Add a feature which allows boot0 and boot1 to accept commands over the serial port (instead of just boot2).
* Fix an issue with the use of O_CREAT on read-only NFS mounts.
* proc structure now allocated with kmalloc instead of zalloc.
* Add support for local SOCK_SEQPACKET ... a connection oriented protocol over unix domain sockets which retains packetization boundaries for read() and write().
* Improve network polling support.
* TCP keepalives are now turned on by default.
* Fix ktrace support for threaded processes.
* kern.trap_mpsafe and kern.syscall_mpsafe are now enabled by default, pushing the MP lock deeper into the kernel.
* Fix a memory corruption issue related to the kernel losing track of the kernel's own use of the FP unit for bcopy operations.
* Jails can now use raw sockets if jail.allow_raw_sockets is set.
* CAM sync w/ FreeBSD, plus additional CAM work to fix disconnect races and panics.
* Bring in bug fixes for UFS from FreeBSD related to when the filesystem becomes full.
* getsockopt() and setsockopt() now copyin/copyout data early, so the rest of the kernel can just access a kernel buffer.
* Experimental MPLS over ethernet support added.
* Adjust NATA queueing to not allow I/O requests to languish forever due to sequential writes keeping the elevator going in one direction only.
Hardware changes
* Add cmx(4) from FreeBSD, the driver for Omnikey CardMan 4040 smartcard readers.
* Sync NATA from FreeBSD.
* Sync DRM from FreeBSD.
Hardware changes (Networking)
* A double-ton of work on wireless drivers (by Sephe)
* A double-ton of work on ethernet drivers (by Sephe)
* Good progress made on removing the BGL from the network paths. The BGL is still being left in-place for this release.
* Some significant Bluetooth stack work has been done.
* Greatly imrpoved packet routing on SMP systems.
* Greatly improved polling support.
* Greatly improved interrupt moderation support with certain drivers.
Hardware changes (USB)
* Better survivability when pulling mass storage devices without unmounting.
* Add many more device IDs across the board.
* Recognize when a device is pulled out of a firewire port (sbp).
* Numerous fixes made to ugen(4), including using interrupt endpoints to increase responsiveness.
* A few fixes made to firewire (fwohic).
* Defer bus exploration to allow ehci to initialize. Add a boot loader tunable hw.usb.hack_defer_exploration which defaults to 1 and can be set to 0 to rever to the old behavior.
Userland changes
* Add blacklist feature for weak Debian-generated SSH keys.
* Miscellanious additions to help with pkgsrc compatibility. O_SYNC, O_FSYNC.
* Improved ktrdump.
* Unique mode history feature added to /bin/sh (from NetBSD).
* Many improvements to manual pages and documentation.
* mount_nfs no longer gets confused by domain names which start with a digit.
* Improved pkg_search
* Removal of remaining (x)ntpd bits. dntpd is the official NTP client for DragonFly.
* Lots of adjustments to libthread_xu to enhance pkgsrc compatibility and thread support.
* Installer moved to contrib / direct-compile, instead of using pkgsrc.
* Properly clear the direction flag (DF) on entry to a signal handler.
* cpdup enhanced to support a verification mode, better remote operation, and parallelization.
* Add vknet and vknetd ... a simple userland virtual ether switch, making user-run vkernel execution possible.
* Add lsearch(3) and lfind(3) to libc.
* Bug fixes to strcspn() and strspn() from FreeBSD.
* Add a new utility 'notty', which runs a program detached from the terminal.
* du now collects information with a 64 bit quantity instead of a 32 bit quantity. ls now displays inode numbers as 64 bit integers.
* Add objc support to gcc.
* Build the installer as part of normal build-/installworld if WANT_INSTALLER is set.
Removals
* Fortran was removed from the base.
* libreadline (and its incompatible license) removed.
* Numerous old device drivers have been removed.
Contributed Software
* Sync zoneinfo database with tzdata2008d from elsie.
* BIND was updated to version 9.3.5-P1 fixing a security issue.
* bzip was updated to version 1.0.5.
* less was updated to version 418.
* libarchive was updated to version 2.5.5.
* OpenSSH was updated to version 5.0p1.
* OpenSSH now has a blacklist feature for weak Debian-generated ssh keys.
* tnftpd was synced with NetBSD as of May 2008.
* Sync Citrus iconv support from NetBSD.
* BIND updated to 9.3.5P1 w/ port randomization security fixes.
* GCC updated to 4.1.2.