NetBSD gets getdelim(3) and getline(3)

July 14, 2009 posted by Roy Marples

Last night I added getdelim(3) and getline(3) to NetBSD.

A few programs in base system needed to be changed due to having their own getline function, most of which aren't anything like getline(3). Hopefully there won't be much fallout in pkgsrc as a result.

getline(3) is prefered over over functions such as fgetln(3) and fgets(3) because it's standards based and you get a dynamic buffer for really really long lines. However, POSIX did drop the ball on making it a standard from the GNU extension - it should return 0 on EOF and more importantly be called fgetline. Oh well.

I shall be rolling getline(3) support into dhcpcd later, but I'll have to do a link test in the Makefile to see if we can use it. I'm unsure if I want to have a mini configure for dhcpcd or to keep using just make extensions ....



UDF enhancements (read-write CD/DVD file system)

July 13, 2009 posted by Reinoud Zandijk

UDF is a full read-write operating system independent file system to be used on CD and DVD media but also very usable on `flash media'. See the OSTA website and Wikipedia for a more in depth overview. A read-only version made it to NetBSD-4.0 and a full read-write version made it to NetBSD-5.0

Recent enhancements to UDF available in NetBSD-current and pulled up to netbsd-5 are

  • Accurate disc space calculation that won't allow overfilling discs that could previously panic the machine.
  • Rewritten read-modify-write backend.
  • Significant reduction of system time spend when encountering huge numbers of nodes.


    Google Summer of Code zfs-port project status update 2

    July 01, 2009 posted by Adam Hamsik

    ZFS as whole has 2 major parts the first one is ZVOL and the second one is ZPL. In my first status update I said that I had ported ZVOL layer to NetBSD, and I was able to create and use ZFS Zpools and Zvols (Logical partitions exported from one disk storage pool called zpool).

    Over the last few weeks I have worked on a ZPL port. ZPL is ZFS file system layer. I have ported zfs_vfsops.c file and zfs_vnops.c file to NetBSD. Today I have ZFS to state where I can mount ZFS data set, copy whole kernel source tree there and finally build NetBSD kernel on it.

    [Read More] [0 comments]


    Google Summer of Code: GPT bootloader

    July 01, 2009 posted by Mike M. Volokhov

    The GUID Partition Table is a new standard for disk partitioning. The GPT layout provides a set of advanced partitioning features including, but not limited to:

    • modern logical block addressing (LBA)
    • 64-bit LBA pointers, allowing partitions up to 8 Zbytes in size, and even bigger
    • suitable for disks with sector size, other than 512 bytes
    • by default up to 128 partitions per disk
    • backup partition table.

    The NetBSD already has support for GPT disks via dkwedges, but can't boot off a GPT partitioned disk. My GSoC project is to implement a GPT aware bootloader for the NetBSD operating system by extending its existing MBR/disklabel BIOS-based multistaged kernel loader.

    [Read More] [0 comments]


    Google Summer of Code: Efficient wide character regular expressions

    June 29, 2009 posted by Matthias-Christian Ott

    During this year’s Google Summer of Code I’m improving the performance of NetBSD’s regular expression library and add support to it for wide characters.

    We made good progress and I’m glad that I can announce that tre is very likely to replace the regular expression code in libc

    [Read More] [0 comments]


    Google Summer of Code: Improving RAIDframe parity handling

    June 21, 2009 posted by Jed Davis

    A NetBSD system, in order to tolerate disk failures, can use the software RAID driver raid(4). Currently, if that system is shut down uncleanly (e.g., loses power or crashes), then when it comes back up it will have to check the entire RAID set's redundancy information. This process can take many hours, during which it imposes a substantial load on the system. It is also a distinct disadvantage to using NetBSD in server applications, and the inclusion of a journaling filesystem in NetBSD 5 makes it all the more prominent.

    The goal of my Summer of Code project is to shorten that check from hours to minutes.

    [Read More] [0 comments]


    Google Summer of Code Generic file system mounting project

    June 21, 2009 posted by Arnaud Ysmal

    Progress report of the generic file system mounting GSoC project. This project aims to remove the struct <fs>_args opaque container (the data argument in the mount(2) system call) so as to get a generic way to mount a file system whatever its type is.

    [Read More] [0 comments]


    XML tools update

    June 20, 2009 posted by David Young

    My Google Summer of Code student, Nhat Minh Le, is working on a suite of simple, efficient, stream-oriented tools for processing XML on UNIX systems. Nhat Minh is making good progress on xmlgrep, a grep-alike program that understands XML syntax.

    Read about Nhat Minh's progress on his blog.

    Keep reading for my explanation of the niche where Nhat Minh's tools fit.

    [Read More] [1 comment]


    Google Summer of Code zfs-port project

    June 04, 2009 posted by Adam Hamsik

    Progress report of zfs-port Google Summer of Code project. This project aims to continue effort to port zfs file system to NetBSD. ZFS is a well known filesystem developed by Sun Microsystems, inc. for their Solaris operating system.

    [Read More] [0 comments]



    May 26, 2009 posted by Alistair Crooks

    NetBSD-current has recently had a new addition - that of netpgp, a BSD-licensed library that can perform digital signature signing and verification, and also encryption and decryption of files. An email explaining netpgp was sent to the tech-security mailing list, but I thought I'd give a short summary of that email here...

    [Read More] [0 comments]


    Impromptu bugathon

    May 18, 2009 posted by David A. Holland

    Yesterday, prompted by the threat of reaching 5000 active bug reports several developers began fixing and closing.

    As of this writing the count of active PRs has dropped from 4976 to 4893 -- that's 83 resolved -- and quite a few more have been placed in submitter feedback awaiting confirmation that they are in fact fixed.

    This is a positive step, and a pretty big number for a single day that wasn't a previously scheduled bugathon. Unfortunately, to clear through the backlog we'd have to do this much every single day for two full months.

    Despite all the cleanup work over the past year and a half, the database is still full of reports of already-fixed problems. These not only inflate the total counts; they get in the way and make it harder to find real problems to work on. Finding and closing them needs to be a group effort.

    If you're a developer: when you fix a problem please include the PR number in the commit message so it gets pulled into the database; also, please close PRs that you fix, or leave a comment explaining what still needs to be done (e.g. pullups, real fixes vs. quick hacks, etc.)

    If you're a user: if you have filed a bug report and it's been fixed, but the report is still open, please follow up to let us know it can be closed. And also, note that GNATS is particular about followups: they need to be sent to gnats-bugs AT (not gnats-admin) and the Subject: line needs to begin with "Re:" and the category and bug number in the form "port-eniac/12345". Other followups are likely to be dropped as spam, or may end up opening a new PR instead. In any event, if you send a followup and you don't get a copy back from GNATS, it probably got lost. If you can't figure out what's wrong, post to the netbsd-bugs mailing list.

    And finally, if you are tired of the Gnats search interface you may find these lists helpful... but be aware that they often don't update very rapidly as there are manual steps involved.



    Recent Xen-related Changes to NetBSD-current

    April 01, 2009 posted by Alistair Crooks

    With all the emphasis on NetBSD-5.0 over the last few months (and, yes, it's looking good now, there may be a third release candidate, and the final bits are being polished off now), NetBSD-current has taken a back seat. Whilst this is quite understandable, there have been some really neat features added recently. Manuel Bouyer has done even more work on NetBSD/Xen, and has added support for an i386 domain0 kernel with PAE support - this requires a i386PAE or x86_64 hypervisor (available in pkgsrc).

    He has also added a PCI pass-through support for Xen3. The dom0 kernel gets a pciback PCI driver, to which the device specified in the pciback.hide boot parameter will attach. DomU kernels get a xpci device, to which pci buses will attach.

    The virtualisation benefits of NetBSD are growing even more, with the recent sighting of a jym-xensuspend branch in the repository. This branch contains the code required to support the Xen save/restore/migrate facilities. It affects domU frontend drivers (xbd, xennet, xencons, hypervisor), autoconf(9) machinery, as well as MD code (mostly pmap(9)).

    I have to thank both Manuel Bouyer and Jen-Yves Migeon for doing so much great work with NetBSD/Xen - formidable