cvs-src summary for 14/03/04

From: Mark Johnston (
Date: 03/15/04

  • Next message: Bruce Evans: "Re: spaces before tabs"
    Date: Sun, 14 Mar 2004 23:31:07 -0600

    This week, I've added a new section for "Notable Changes". This is for
    changes that aren't exactly new features, aren't exactly bug fixes, but
    are important nonetheless.


    FreeBSD cvs-src summary for 07/03/04 to 14/03/04
    This is a regular weekly summary of FreeBSD's cutting-edge development.
    It is intended to help the FreeBSD community keep up with the fast-paced
    work going on in FreeBSD-CURRENT by distilling the deluge of data from
    the CVS mailing list into a (hopefully) easy-to-read newsletter. This
    newsletter is marked up in reStructuredText_, so any odd punctuation
    that you see is likely intended for the reST parser.

    .. _reStructuredText:

    You can get old summaries, and an HTML version of this one, at Please send any comments to Mark Johnston
    (mark at

    For Lukasz Dudek and Szymon Roczniak's Polish translations of these
    summaries, which may lag the English ones slightly, please see

    .. contents::

    New features
    OpenBSD PF linked into the system build
    Max Laier (mlaier) has linked PF_, which was imported into the system a
    while ago, into the build, so it will be available in -CURRENT from now
    on. When you upgrade past this change (March 8th), you'll need to use
    mergemaster -p before installworld (but you always do that anyway, right?)
    since it adds a new user and two groups. In case you don't want to use
    PF, this commit also adds a NO_PF option to make.conf.

    .. _PF:

    Nanobsd tools for embedded systems added
    Poul-Henning Kamp (phk) added a tool called nanobsd, which can be used
    to create a system image suitable for use in embedded systems. Nanobsd
    currently works only for 256MB flash disks, but there's lots of room
    to shrink the system further. This code is a starting point and still
    needs work and documentation, but if you want to try it, the Makefile and
    configuration files are available in /usr/src/tools/tools/nanobsd.

    Intel C compiler support added for kernel building
    Tom Rhodes (trhodes) committed support for using `Intel's icc C compiler`_
    to build the kernel. Intel's compiler tends to generate significantly
    faster code than gcc. Currently, this only works properly with icc 7;
    kernels built with icc 8 still have serious problems.

    .. _`Intel's icc C compiler`:

    New sysctls to restrict hard links
    Pawel Jakub Dawidek (pjd) added two new sysctls that can be used to
    prevent users from making hard links to files that don't belong to
    them. The sysctls are named security.bsd.hardlink_check_uid and
    security.bsd.hardlink_check_gid; they restrict the ability to make hard
    links to the owning user and owning group, respectively. The new sysctls
    default to off.

    Sparc64 platform changes to 64-bit time storage
    Garance A. Drosehn (gad) changed sparc64 over from the old 32-bit time_t
    time storage type to a 64-bit one. A 64-bit time_t eliminates the `year
    2038 problem`_ when the 32-bit time_t runs out of room in 2038. The
    64-bit counter will not run out of room for some 292 billion years. This
    change affects a lot of different applications, so there may be some
    followup patches as problems are found; this instability will affect only
    the sparc64 platform.

    .. _`year 2038 problem`:

    Netgraph VLAN support MFC'ed
    Ruslan Ermilov (ru) committed Netgraph support for IEEE 802.1q VLAN tags to
    FreeBSD 4.x. This Netgraph module was added to -CURRENT last week; more
    information is available `in last week's summary`_.

    .. _`in last week's summary`:

    Notable changes
    nologin moved from /sbin to /usr/sbin
    Colin Percival (cperciva) moved the nologin program, used as a shell for
    users who shouldn't be able to log in, from /sbin to /usr/sbin. There
    will be a symbolic link made from /sbin/nologin to /usr/sbin/nologin for

    asc, ctx, gp, gsc, le, rdp, spigot, stl, stli, and wt legacy drivers removed
    M. Warner Losh (imp) removed:

        - The asc driver, for GI1904-based hand scanners
        - The ctx driver, for another scanner
        - The gp driver, for National Instruments AT-GPIB boards
        - The gsc driver, for the Genius GS-4500 hand scanner
        - The le driver, for DEC EtherWORKS II/III Ethernet adapters
        - The rdp driver, for the Realtek RTL-8002 parallel port Ethernet device
        - The spigot driver, for the video spigot device
        - The stl and stli drivers, for Stallion serial controllers
        - The wt driver, for Wangtek QIC-02/QIC-36 tape drives
    from the tree. These drivers use old legacy compatibility APIs which are
    being eliminated. These devices can be supported again if an up-to-date
    driver is contributed for them.


    Discussion topics
    Trading off speed for application support
    John Birrell (jb) modified the stdio (standard input/output) code so that
    a program can create a FILE structure on its own, rather than retrieving
    one from the system. Tim Robbins (tjr) questioned this functionality,
    noting that the extra code would slow down the important stdio code to
    support misbehaving applications. Alexander Kabaev (kan) agreed with
    Tim, saying that he'd prefer to explicitly disallow poking around in a
    FILE structure. From there, a subthread centered on improving stdio
    performance in general, by separating the threaded and non-threaded cases.
    In the end, John decided to back out the change, since he had only one
    private application that needed the functionality.

    vnode-backed memory disk deadlock fixed
    Poul-Henning Kamp (phk) fixed a deadlock in vnode-backed md memory
    disk devices over a certain, unknown size. He noted that this fix
    involves a performance hit, so the -o async option can be given to
    mdconfig to use the old, faster, unsafe behavior. Alexey Dokuchaev asked
    whether a fix is possible without the performance penalty. Poul-Henning
    answered that either the syncer or the md code needs to be aware of the
    special case of a vnode-backed md. Colin Percival (cperciva) asked
    whether md could directly access the disk blocks it wanted to use, rather
    than going through the filesystem. Poul-Henning explained that that
    implementation would be faster and would eliminate a layering violation,
    but the complexity of such a setup would outweigh the benefits. Bruce
    Evans (bde) further noted that very old versions of the vnode driver used
    the scheme; it was highly complex, and didn't quite work.

    In a subthread, Brian Feldman (green) noted that the async option is
    unsafe in a non-obvious way, and suggested that the flag be renamed
    to unsafe_async or similar, or an -o force flag be required as well.
    Poul-Henning disagreed, stating that mdconfig is already dangerous enough
    that the slight extra protection such a flag would give would be no

    Committer changes
    David Malone (dwmalone) introduced Peter Edwards (peadar) as a new src
    committer. Peter will be working on debuggers and threads as well as
    doing general src commits.

    Important bug fixes
    File corruption bug when running multiple instances of pw corrected
    Ken Smith (kensmith) committed a change to the pw utility, which manages
    the passwd and group files, to lock the file it's going to change. This
    eliminates the possibility of corrupting those files when pw is run more
    than once at the same time. This problem was reported in `PR 23501`_.

    .. _`PR 23501`:

    Non-interactive script fixed in 4.x
    Colin Percival (cperciva) MFC'ed fixes for the script utility for bugs
    that prevented it from working when used non-interactively. This fixes
    a problem that could result in portupgrade deleting ports and not
    reinstalling them, and it closes 5 PRs: 56166_, 57414_, 57415_, 59036_,
    and 60534_.

    .. _56166:
    .. _57414:
    .. _57415:
    .. _59036:
    .. _60534:

    Other bug fixes
    Lukas Ertl (le) committed a patch to df that fixes what df reports for
    available space on an over-full file system when a custom block size is
    used. This commit closes `PR 62536`_, submitted by Peter van Dijk.

    .. _`PR 62536`:

    Tim Kientzle (kientzle) updated libarchive, a library for reading and
    writing streaming archive files, with many fixes and portability updates.

    Bruce Evans (bde) updated many applications that were misusing NULL to
    mean 0 and vice versa.


    _______________________________________________ mailing list
    To unsubscribe, send any mail to ""

  • Next message: Bruce Evans: "Re: spaces before tabs"